[Xword-commits] r48 - branches/letterbars

btb at garage.maemo.org btb at garage.maemo.org
Thu Apr 24 06:12:42 EEST 2008


Author: btb
Date: 2008-04-24 06:12:41 +0300 (Thu, 24 Apr 2008)
New Revision: 48

Modified:
   branches/letterbars/xword
Log:
merge from trunk up to r46


Modified: branches/letterbars/xword
===================================================================
--- branches/letterbars/xword	2008-04-24 01:43:28 UTC (rev 47)
+++ branches/letterbars/xword	2008-04-24 03:12:41 UTC (rev 48)
@@ -47,6 +47,12 @@
     has_hildon = False
 
 try:
+    import osso
+    has_osso = True
+except:
+    has_osso = False
+
+try:
     import gnomeprint
     import gnomeprint.ui
     has_print = True
@@ -62,6 +68,7 @@
 import ConfigParser
 
 HOME_PATH = '/usr/share/xword'
+if os.path.exists('../share/xword/check.xpm'): HOME_PATH = '../share/xword'
 CHECK_ICON = HOME_PATH + '/crossword-check.png'
 CHECK_ALL_ICON = HOME_PATH + '/crossword-check-all.png'
 SOLVE_ICON = HOME_PATH + '/crossword-solve.png'
@@ -905,7 +912,7 @@
         self.control = control
 
         width = 0
-        height = 20
+        height = 22
 
         self.area = gtk.DrawingArea()
         self.pango = self.area.create_pango_layout('')
@@ -1302,6 +1309,8 @@
         self.load_list(ACROSS)
         self.load_list(DOWN)
         self.enable_controls(True)
+        if has_osso:
+            self.notify("Opened puzzle '" + self.puzzle.title + "'")
 
         self.idle_event()
 
@@ -1369,12 +1378,16 @@
         gtk.main_quit()
 
     def notify(self, msg):
-        dialog = gtk.MessageDialog(parent=self.win,
-                                   type=gtk.MESSAGE_INFO,
-                                   buttons=gtk.BUTTONS_OK,
-                                   message_format=msg)
-        dialog.connect("response", lambda dlg, resp: dlg.destroy())
-        dialog.show()
+        if has_osso:
+            note = osso.SystemNote(osso_c)
+            note.system_note_infoprint(msg)
+        else:
+            dialog = gtk.MessageDialog(parent=self.win,
+                                       type=gtk.MESSAGE_INFO,
+                                       buttons=gtk.BUTTONS_OK,
+                                       message_format=msg)
+            dialog.connect("response", lambda dlg, resp: dlg.destroy())
+            dialog.show()
 
     def ask(self, msg, opts):
         dialog = gtk.MessageDialog(parent=self.win,
@@ -2050,7 +2063,21 @@
         c.write(file(os.path.expanduser('~/.crossword.cfg'), 'w'))
 
 
+def osso_callback(interface, method, arguments, user_data):
+    if method == 'mime_open':
+        filename = arguments[0]
+        if filename.startswith('file://'):
+            filename = filename[7:]
+        if os.path.exists(filename):
+            w.do_open_file(filename)
+
 if __name__ == '__main__':
+    if has_osso:
+        osso_c = osso.Context("xword", __version__, False)
+        osso_rpc = osso.Rpc(osso_c)
+        osso_rpc.set_rpc_callback("org.maemo.xword", "/org/maemo/xword",
+                                  "org.maemo.xword", osso_callback, osso_c)
+
     if len(sys.argv) <> 2:
         p = None
     else:



More information about the Xword-commits mailing list