Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
cc54da22
Kaydet (Commit)
cc54da22
authored
Nis 13, 2015
tarafından
Siqi Liu
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
java part handles received statechange callback
üst
b3f42066
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
109 additions
and
3 deletions
+109
-3
Document.java
android/Bootstrap/src/org/libreoffice/kit/Document.java
+10
-0
InvalidationHandler.java
...ndroid3/src/java/org/libreoffice/InvalidationHandler.java
+14
-1
LibreOfficeMainActivity.java
...id3/src/java/org/libreoffice/LibreOfficeMainActivity.java
+5
-1
ToolbarController.java
...OAndroid3/src/java/org/libreoffice/ToolbarController.java
+56
-1
ImageUtils.java
...OAndroid3/src/java/org/libreoffice/canvas/ImageUtils.java
+24
-0
No files found.
android/Bootstrap/src/org/libreoffice/kit/Document.java
Dosyayı görüntüle @
cc54da22
...
...
@@ -31,6 +31,15 @@ public class Document {
public
static
final
int
MOUSE_BUTTON_UP
=
1
;
public
static
final
int
MOUSE_MOVE
=
2
;
/**
* State change types
*/
public
static
final
int
BOLD
=
0
;
public
static
final
int
ITALIC
=
1
;
public
static
final
int
UNDERLINE
=
2
;
public
static
final
int
STRIKEOUT
=
3
;
/**
* Callback message types
*/
...
...
@@ -42,6 +51,7 @@ public class Document {
public
static
final
int
CALLBACK_CURSOR_VISIBLE
=
5
;
public
static
final
int
CALLBACK_GRAPHIC_SELECTION
=
6
;
public
static
final
int
CALLBACK_HYPERLINK_CLICKED
=
7
;
public
static
final
int
CALLBACK_STATE_CHANGED
=
8
;
/**
* Set text selection types
...
...
android/experimental/LOAndroid3/src/java/org/libreoffice/InvalidationHandler.java
Dosyayı görüntüle @
cc54da22
...
...
@@ -68,11 +68,24 @@ public class InvalidationHandler implements Document.MessageCallback {
if
(!
payload
.
startsWith
(
"http://"
)
&&
!
payload
.
startsWith
(
"https://"
))
{
payload
=
"http://"
+
payload
;
}
Intent
urlIntent
=
new
Intent
(
Intent
.
ACTION_VIEW
);
urlIntent
.
setData
(
Uri
.
parse
(
payload
));
LibreOfficeMainActivity
.
mAppContext
.
startActivity
(
urlIntent
);
break
;
case
Document
.
CALLBACK_STATE_CHANGED
:
Log
.
d
(
"Document.CALLBACK_STATE_CHANGED: "
+
payload
);
String
[]
parts
=
payload
.
split
(
":"
);
boolean
pressed
=
Boolean
.
parseBoolean
(
parts
[
1
]);
if
(
parts
[
0
].
equals
(
"Bold"
))
{
LOKitShell
.
getToolbarController
().
onToggleStateChanged
(
Document
.
BOLD
,
pressed
);
}
else
if
(
parts
[
0
].
equals
(
"Italic"
))
{
LOKitShell
.
getToolbarController
().
onToggleStateChanged
(
Document
.
ITALIC
,
pressed
);
}
else
if
(
parts
[
0
].
equals
(
"Underline"
))
{
LOKitShell
.
getToolbarController
().
onToggleStateChanged
(
Document
.
UNDERLINE
,
pressed
);
}
else
if
(
parts
[
0
].
equals
(
"Strikeout"
))
{
LOKitShell
.
getToolbarController
().
onToggleStateChanged
(
Document
.
STRIKEOUT
,
pressed
);
}
break
;
}
}
...
...
android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
Dosyayı görüntüle @
cc54da22
...
...
@@ -19,6 +19,7 @@ import android.widget.ListView;
import
android.widget.Toast
;
import
org.libreoffice.overlay.DocumentOverlay
;
import
org.mozilla.gecko.ZoomConstraints
;
import
org.mozilla.gecko.gfx.GeckoLayerClient
;
import
org.mozilla.gecko.gfx.LayerView
;
...
...
@@ -69,6 +70,7 @@ public class LibreOfficeMainActivity extends ActionBarActivity {
public
boolean
onCreateOptionsMenu
(
Menu
menu
)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater
().
inflate
(
R
.
menu
.
main
,
menu
);
mToolbarController
.
setOptionMenu
(
menu
);
return
super
.
onCreateOptionsMenu
(
menu
);
}
...
...
@@ -141,7 +143,7 @@ public class LibreOfficeMainActivity extends ActionBarActivity {
Toolbar
toolbar
=
(
Toolbar
)
findViewById
(
R
.
id
.
toolbar
);
setSupportActionBar
(
toolbar
);
mToolbarController
=
new
ToolbarController
(
getSupportActionBar
(),
toolbar
);
mToolbarController
=
new
ToolbarController
(
this
,
getSupportActionBar
(),
toolbar
);
toolbar
.
setNavigationOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
...
...
@@ -176,6 +178,8 @@ public class LibreOfficeMainActivity extends ActionBarActivity {
// create TextCursorLayer
mDocumentOverlay
=
new
DocumentOverlay
(
mAppContext
,
layerView
);
}
private
boolean
copyFileToTemp
()
{
...
...
android/experimental/LOAndroid3/src/java/org/libreoffice/ToolbarController.java
Dosyayı görüntüle @
cc54da22
...
...
@@ -8,22 +8,77 @@
*/
package
org
.
libreoffice
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.graphics.drawable.BitmapDrawable
;
import
android.support.v7.app.ActionBar
;
import
android.support.v7.widget.Toolbar
;
import
android.util.Log
;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
org.libreoffice.canvas.ImageUtils
;
import
org.libreoffice.kit.Document
;
/**
* Controls the changes to the toolbar.
*/
public
class
ToolbarController
{
private
static
final
String
LOGTAG
=
ToolbarController
.
class
.
getSimpleName
();
private
final
Toolbar
mToolbar
;
private
final
ActionBar
mActionBar
;
private
Menu
mOptionsMenu
;
private
Context
mContext
;
public
ToolbarController
(
ActionBar
actionBar
,
Toolbar
toolbar
)
{
public
ToolbarController
(
Context
context
,
ActionBar
actionBar
,
Toolbar
toolbar
)
{
mToolbar
=
toolbar
;
mActionBar
=
actionBar
;
mContext
=
context
;
switchToViewMode
();
}
public
void
onToggleStateChanged
(
int
type
,
boolean
pressed
)
{
MenuItem
menuItem
=
null
;
Bitmap
icon
=
null
;
switch
(
type
)
{
case
Document
.
BOLD
:
menuItem
=
mOptionsMenu
.
findItem
(
R
.
id
.
action_bold
);
icon
=
BitmapFactory
.
decodeResource
(
mContext
.
getResources
(),
R
.
drawable
.
action_bold
);
break
;
case
Document
.
ITALIC
:
menuItem
=
mOptionsMenu
.
findItem
(
R
.
id
.
action_italic
);
icon
=
BitmapFactory
.
decodeResource
(
mContext
.
getResources
(),
R
.
drawable
.
action_italic
);
break
;
case
Document
.
UNDERLINE
:
menuItem
=
mOptionsMenu
.
findItem
(
R
.
id
.
action_underline
);
icon
=
BitmapFactory
.
decodeResource
(
mContext
.
getResources
(),
R
.
drawable
.
action_underline
);
break
;
case
Document
.
STRIKEOUT
:
menuItem
=
mOptionsMenu
.
findItem
(
R
.
id
.
action_strikeout
);
icon
=
BitmapFactory
.
decodeResource
(
mContext
.
getResources
(),
R
.
drawable
.
action_strikeout
);
break
;
default
:
Log
.
e
(
LOGTAG
,
"Uncaptured state change type: "
+
type
);
return
;
}
if
(
menuItem
==
null
)
{
Log
.
e
(
LOGTAG
,
"MenuItem not found."
);
return
;
}
if
(
pressed
)
{
icon
=
ImageUtils
.
bitmapToPressed
(
icon
);
}
menuItem
.
setIcon
(
new
BitmapDrawable
(
mContext
.
getResources
(),
icon
));
}
public
void
setOptionMenu
(
Menu
menu
)
{
mOptionsMenu
=
menu
;
}
/**
* Change the toolbar to edit mode.
*/
...
...
android/experimental/LOAndroid3/src/java/org/libreoffice/canvas/ImageUtils.java
0 → 100644
Dosyayı görüntüle @
cc54da22
package
org
.
libreoffice
.
canvas
;
import
android.graphics.Bitmap
;
import
android.graphics.Color
;
public
class
ImageUtils
{
/**
* Convert transparent pixels to gray ones.
*/
public
static
Bitmap
bitmapToPressed
(
Bitmap
input
)
{
Bitmap
op
=
Bitmap
.
createBitmap
(
input
.
getWidth
(),
input
.
getHeight
(),
input
.
getConfig
());
for
(
int
i
=
0
;
i
<
op
.
getWidth
();
i
++){
for
(
int
j
=
0
;
j
<
op
.
getHeight
();
j
++){
int
p
=
input
.
getPixel
(
i
,
j
);
// assign gray color if the pixel in input is transparent.
int
newColor
=
Color
.
alpha
(
p
)
==
0
?
Color
.
argb
(
255
,
200
,
200
,
200
)
:
p
;
op
.
setPixel
(
i
,
j
,
newColor
);
}
}
return
op
;
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment