alacarte r353 - in trunk: . Alacarte
- From: twatkins svn gnome org
- To: svn-commits-list gnome org
- Subject: alacarte r353 - in trunk: . Alacarte
- Date: Sun, 17 Feb 2008 05:41:50 +0000 (GMT)
Author: twatkins
Date: Sun Feb 17 05:41:50 2008
New Revision: 353
URL: http://svn.gnome.org/viewvc/alacarte?rev=353&view=rev
Log:
2008-02-16 Travis Watkins <amaranth ubuntu com>
* Alacarte/MainWindow.py:
- disable New Separator button when an item is not selected
thanks to Mike Pechkin
- hopefully fix problem with editing properties on menus without
.directory files
- make sure DnD operations are allowed allowed for the inside
the alacarte window and not between instances of alacarte
- update view on item theme change, thanks Jared Moore
* Alacarte/Makefile.am:
- install .py files to the correct location, thanks Todd Zullinger
* Alacarte/MenuEditor.py:
- make sure you can't move a menu into itself
thanks Benjamin Gramlich
- hopefully fix bug 486937 (which doesn't make sense)
* alacarte.desktop.in.in:
- disable StartupNotify as a poor man's fix for property windows
going under the main application window
Modified:
trunk/Alacarte/MainWindow.py
trunk/Alacarte/Makefile.am
trunk/Alacarte/MenuEditor.py
trunk/ChangeLog
trunk/alacarte.desktop.in.in
trunk/alacarte.glade
Modified: trunk/Alacarte/MainWindow.py
==============================================================================
--- trunk/Alacarte/MainWindow.py (original)
+++ trunk/Alacarte/MainWindow.py Sun Feb 17 05:41:50 2008
@@ -61,6 +61,7 @@
self.tree.get_widget('edit_properties').set_sensitive(False)
self.tree.get_widget('move_up_button').set_sensitive(False)
self.tree.get_widget('move_down_button').set_sensitive(False)
+ self.tree.get_widget('new_separator_button').set_sensitive(False)
accelgroup = gtk.AccelGroup()
keyval, modifier = gtk.accelerator_parse('<Ctrl>Z')
accelgroup.connect_group(keyval, modifier, gtk.ACCEL_VISIBLE, self.on_mainwindow_undo)
@@ -357,7 +358,15 @@
file_path = os.path.join(util.getUserItemPath(), item.get_desktop_file_id())
file_type = 'Item'
elif item.get_type() == gmenu.TYPE_DIRECTORY:
- file_path = os.path.join(util.getUserDirectoryPath(), os.path.split(item.get_desktop_file_path())[1])
+ if item.get_desktop_file_path() == None:
+ file_path = util.getUniqueFileId('alacarte-made', '.directory')
+ parser = util.DesktopParser(file_path, 'Directory')
+ parser.set('Name', item.get_name())
+ parser.set('Comment', item.get_comment())
+ parser.set('Icon', item.get_icon())
+ parser.write(open(file_path))
+ else:
+ file_path = os.path.join(util.getUserDirectoryPath(), os.path.split(item.get_desktop_file_path())[1])
file_type = 'Menu'
if not os.path.isfile(file_path):
@@ -382,6 +391,7 @@
self.tree.get_widget('edit_properties').set_sensitive(False)
self.tree.get_widget('move_up_button').set_sensitive(False)
self.tree.get_widget('move_down_button').set_sensitive(False)
+ self.tree.get_widget('new_separator_button').set_sensitive(False)
def on_menu_tree_drag_data_get(self, treeview, context, selection, target_id, etime):
menus, iter = treeview.get_selection().get_selected()
@@ -397,6 +407,8 @@
context.finish(False, False, etime)
return False
if selection.target in ('ALACARTE_ITEM_ROW', 'ALACARTE_MENU_ROW'):
+ if self.drag_data == None:
+ return False
item = self.drag_data
new_parent = menus[path][2]
treeview.get_selection().select_path(path)
@@ -408,6 +420,7 @@
else:
context.finish(False, False, etime)
context.finish(True, True, etime)
+ self.drag_data = None
def on_item_tree_show_toggled(self, cell, path):
item = self.item_store[path][3]
@@ -423,6 +436,7 @@
items, iter = treeview.get_selection().get_selected()
item = items[iter][3]
self.tree.get_widget('edit_delete').set_sensitive(True)
+ self.tree.get_widget('new_separator_button').set_sensitive(True)
if self.editor.canRevert(item):
self.tree.get_widget('edit_revert_to_original').set_sensitive(True)
else:
@@ -482,6 +496,8 @@
drop_info = treeview.get_dest_row_at_pos(x, y)
before = None
after = None
+ if self.drag_data == None:
+ return False
item = self.drag_data
if drop_info:
path, position = drop_info
@@ -531,6 +547,7 @@
self.editor.createItem(parent, parser.get('Icon'), parser.get('Name', self.editor.locale), parser.get('Comment', self.editor.locale), parser.get('Exec'), parser.get('Terminal'), before, after)
elif file_info.mime_type in ('application/x-shellscript', 'application/x-executable'):
self.editor.createItem(parent, None, os.path.split(file_path)[1].strip(), None, file_path.replace('file://', '').strip(), False, before, after)
+ self.drag_data = None
def on_item_tree_key_press_event(self, item_tree, event):
if event.keyval == gtk.keysyms.Delete:
@@ -596,6 +613,9 @@
pass
gobject.timeout_add(10, self.quit)
+ def on_style_set(self, *args):
+ self.loadUpdates()
+
def quit(self):
self.editor.quit()
gtk.main_quit()
Modified: trunk/Alacarte/Makefile.am
==============================================================================
--- trunk/Alacarte/Makefile.am (original)
+++ trunk/Alacarte/Makefile.am Sun Feb 17 05:41:50 2008
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-appdir = $(pyexecdir)/Alacarte
+appdir = $(pythondir)/Alacarte
app_PYTHON = __init__.py MainWindow.py MenuEditor.py util.py
nodist_app_PYTHON = config.py
Modified: trunk/Alacarte/MenuEditor.py
==============================================================================
--- trunk/Alacarte/MenuEditor.py (original)
+++ trunk/Alacarte/MenuEditor.py Sun Feb 17 05:41:50 2008
@@ -315,6 +315,11 @@
parent = parent.get_parent()
if parent == menu:
return False
+
+ #don't move a menu into itself
+ if new_parent == menu:
+ return False
+
#can't move between top-level menus
if self.__getMenu(menu) != self.__getMenu(new_parent):
return False
@@ -374,6 +379,9 @@
def revertMenu(self, menu):
if not self.canRevert(menu):
return
+ #wtf happened here? oh well, just bail
+ if not menu.get_desktop_file_path():
+ return
self.__addUndo([menu,])
file_id = os.path.split(menu.get_desktop_file_path())[1]
path = os.path.join(util.getUserDirectoryPath(), file_id)
Modified: trunk/alacarte.desktop.in.in
==============================================================================
--- trunk/alacarte.desktop.in.in (original)
+++ trunk/alacarte.desktop.in.in Sun Feb 17 05:41:50 2008
@@ -5,7 +5,7 @@
Exec=alacarte
Terminal=false
Type=Application
-StartupNotify=true
+StartupNotify=false
Categories=GNOME;Settings;DesktopSettings;
NotShowIn=KDE;
Icon=alacarte
Modified: trunk/alacarte.glade
==============================================================================
--- trunk/alacarte.glade (original)
+++ trunk/alacarte.glade Sun Feb 17 05:41:50 2008
@@ -72,6 +72,7 @@
<property name="has_separator">False</property>
<signal name="close" handler="on_close_button_clicked" last_modification_time="Wed, 26 Apr 2006 18:46:45 GMT"/>
<signal name="destroy" handler="on_close_button_clicked" last_modification_time="Fri, 28 Apr 2006 10:49:37 GMT"/>
+ <signal name="style-set" handler="on_style_set"/>
<accelerator key="Escape" modifiers="0" signal="close"/>
<child internal-child="vbox">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]