diff --git a/resources/glade/main.glade b/resources/glade/main.glade
index 3255e6f..0ae8bd0 100644
--- a/resources/glade/main.glade
+++ b/resources/glade/main.glade
@@ -590,22 +590,96 @@
-
+
True
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- GTK_POLICY_AUTOMATIC
- GTK_POLICY_AUTOMATIC
- GTK_SHADOW_IN
-
+
True
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- False
- GTK_WRAP_WORD
- False
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+ GTK_SHADOW_IN
+
+
+ True
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ False
+ GTK_WRAP_WORD
+ False
+
+
+
+ True
+ True
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+
+
+ True
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ True
+
+
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+
+
+ True
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ GTK_POLICY_AUTOMATIC
+ GTK_POLICY_AUTOMATIC
+ GTK_SHADOW_IN
+
+
+ True
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ True
+
+
+
+
+ False
+ True
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+ True
+ True
+
@@ -714,11 +788,10 @@
-
@@ -738,10 +811,16 @@
-
+
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
-
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+
+
+
+
diff --git a/src/ctrls/c_main.py b/src/ctrls/c_main.py
index 70c1bbf..615136c 100644
--- a/src/ctrls/c_main.py
+++ b/src/ctrls/c_main.py
@@ -76,36 +76,34 @@ class MainController(Controller):
for widget in self.widgets_cancel:
self.view[widget].set_sensitive(False)
- # hide "debug" button, if production (i.e. python OT running with -OO option)
+ # hide "debug" button, if production
+ # (i.e. python OT running with -OO option)
if __debug__:
self.view['debugbtn'].show()
else:
self.view['debugbtn'].hide()
- # ustaw domyślne właściwości dla poszczególnych widżetów
-# self.view['main'].set_icon_list(gtk.gdk.pixbuf_new_from_file("pixmaps/mainicon.png"))
- #self.view['detailplace'].set_sensitive(False)
- #self.view['exifTab'].hide()
- #self.view['animeTab'].hide()
-
# load configuration/defaults and set it to properties
self.view['toolbar1'].set_active(self.model.config.confd['showtoolbar'])
if self.model.config.confd['showtoolbar']:
self.view['maintoolbar'].show()
else:
self.view['maintoolbar'].hide()
- self.view['status_bar1'].set_active(self.model.config.confd['showstatusbar'])
+ statusbar_state = self.model.config.confd['showstatusbar']
+ self.view['status_bar1'].set_active(statusbar_state)
if self.model.config.confd['showstatusbar']:
self.view['statusprogress'].show()
else:
self.view['statusprogress'].hide()
self.view['hpaned1'].set_position(self.model.config.confd['h'])
self.view['vpaned1'].set_position(self.model.config.confd['v'])
- self.view['main'].resize(self.model.config.confd['wx'],self.model.config.confd['wy'])
+ self.view['main'].resize(self.model.config.confd['wx'],
+ self.model.config.confd['wy'])
# initialize statusbar
self.context_id = self.view['mainStatus'].get_context_id('detailed res')
- self.statusbar_id = self.view['mainStatus'].push(self.context_id, "Idle")
+ self.statusbar_id = self.view['mainStatus'].push(self.context_id,
+ "Idle")
# initialize treeviews
self.__setup_disc_treeview()
@@ -113,10 +111,9 @@ class MainController(Controller):
# in case passing catalog filename in command line, unlock gui
if self.model.filename != None:
- self.__activateUI(self.model.filename)
+ self.__activate_ui(self.model.filename)
self.view['vpaned2'].set_position(18)
- print self.view['tag_cloud_textview'].get_window(gtk.TEXT_WINDOW_TEXT)
# generate recent menu
self.__generate_recent_menu()
@@ -126,8 +123,21 @@ class MainController(Controller):
#########################################################################
# Connect signals from GUI, like menu objects, toolbar buttons and so on.
+ def on_rename1_activate(self, widget):
+ model, iter = self.view['discs'].get_selection().get_selected()
+ label_old = model.get_value(iter, 1)
+ id = model.get_value(iter, 0)
+ label = Dialogs.InputDiskLabel(label_old).run()
+ if __debug__:
+ print "c_main.py: on_rename1_activate(): label:", label
+ if label != None and label !=label_old:
+ self.model.set_label(id, label)
+ self.model.unsaved_project = True
+ self.__set_title(filepath=self.model.filename, modified=True)
+
def on_tag_cloud_textview_motion_notify_event(self, widget):
- print 'e'
+ if __debug__:
+ print "c_main.py: on_tag_cloud_textview_motion_notify_event():"
w = self.view['tag_cloud_textview'].get_window(gtk.TEXT_WINDOW_TEXT)
if w:
w.set_cursor(None)
@@ -144,35 +154,36 @@ class MainController(Controller):
self.view['vpaned2'].set_position(200)
def on_main_destroy_event(self, window, event):
- self.__doQuit()
+ self.__do_quit()
return True
def on_tb_quit_clicked(self,widget):
- self.__doQuit()
+ self.__do_quit()
def on_quit1_activate(self,widget):
- self.__doQuit()
+ self.__do_quit()
def on_new1_activate(self,widget):
- self.__newDB()
+ self.__new_db()
def on_tb_new_clicked(self,widget):
- self.__newDB()
+ self.__new_db()
def on_add_cd_activate(self,widget):
- self.__addCD()
+ self.__add_cd()
def on_tb_addcd_clicked(self,widget):
- self.__addCD()
+ self.__add_cd()
def on_add_directory1_activate(self, widget):
"""Show dialog for choose drectory to add from filesystem."""
- self.__addDirectory()
+ self.__add_directory()
return
def on_about1_activate(self,widget):
"""Show about dialog"""
- Dialogs.Abt("pyGTKtalog", __version__, "About", ["Roman 'gryf' Dobosz"], licence)
+ Dialogs.Abt("pyGTKtalog", __version__, "About",
+ ["Roman 'gryf' Dobosz"], licence)
return
def on_preferences_activate(self, widget):
@@ -182,7 +193,8 @@ class MainController(Controller):
def on_status_bar1_activate(self, widget):
"""Toggle visibility of statusbat and progress bar."""
- self.model.config.confd['showstatusbar'] = self.view['status_bar1'].get_active()
+ activity = self.view['status_bar1'].get_active()
+ self.model.config.confd['showstatusbar'] = activity
if self.view['status_bar1'].get_active():
self.view['statusprogress'].show()
else:
@@ -190,7 +202,8 @@ class MainController(Controller):
def on_toolbar1_activate(self, widget):
"""Toggle visibility of toolbar bar."""
- self.model.config.confd['showtoolbar'] = self.view['toolbar1'].get_active()
+ activity = self.view['toolbar1'].get_active()
+ self.model.config.confd['showtoolbar'] = activity
if self.view['toolbar1'].get_active():
self.view['maintoolbar'].show()
else:
@@ -212,9 +225,12 @@ class MainController(Controller):
self.__open()
def on_discs_cursor_changed(self, widget):
- """Show files on right treeview, after clicking the left disc treeview."""
+ """Show files on right treeview, after clicking the left disc
+ treeview."""
model = self.view['discs'].get_model()
- selected_item = self.model.discs_tree.get_value(self.model.discs_tree.get_iter(self.view['discs'].get_cursor()[0]),0)
+ path, column = self.view['discs'].get_cursor()
+ iter = self.model.discs_tree.get_iter(path)
+ selected_item = self.model.discs_tree.get_value(iter,0)
self.model.get_root_entries(selected_item)
self.__get_item_info(selected_item)
@@ -230,7 +246,8 @@ class MainController(Controller):
def on_discs_button_press_event(self, treeview, event):
try:
- path, column, x, y = treeview.get_path_at_pos(int(event.x), int(event.y))
+ path, column, x, y = treeview.get_path_at_pos(int(event.x),
+ int(event.y))
except TypeError:
treeview.get_selection().unselect_all()
return False
@@ -238,20 +255,23 @@ class MainController(Controller):
if event.button == 3:
"""show context menu"""
try:
- model, list_of_paths = treeview.get_selection().get_selected_rows()
+ selection = treeview.get_selection()
+ model, list_of_paths = selection.get_selected_rows()
except TypeError:
list_of_paths = []
- pass
if path not in list_of_paths:
treeview.get_selection().unselect_all()
treeview.get_selection().select_path(path)
- if self.model.discs_tree.get_value(self.model.discs_tree.get_iter(path),3) == 1:
+ iter = self.model.discs_tree.get_iter(path)
+ if self.model.discs_tree.get_value(iter, 3) == 1:
# if ancestor is 'root', then activate "update" menu item
self.view['update1'].set_sensitive(True)
+ self.view['rename1'].set_sensitive(True)
else:
self.view['update1'].set_sensitive(False)
+ self.view['rename1'].set_sensitive(False)
self.__popup_discs_menu(event)
# elif event.button == 1: # Left click
@@ -291,11 +311,13 @@ class MainController(Controller):
else:
#file, show what you got.
#self.details.get_top_widget()
- selected_item = self.model.files_list.get_value(model.get_iter(treeview.get_cursor()[0]),0)
+ iter = model.get_iter(treeview.get_cursor()[0])
+ selected_item = self.model.files_list.get_value(iter, 0)
self.__get_item_info(selected_item)
except:
if __debug__:
- print "c_main.py: on_files_cursor_changed() insufficient iterator"
+ print "c_main.py: on_files_cursor_changed() insufficient \
+ iterator"
return
def on_files_key_release_event(self, a, event):
@@ -311,19 +333,24 @@ class MainController(Controller):
else:
# hard way
f_model = self.view['files'].get_model()
- first_child_value = f_model.get_value(f_model.get_iter_first(), 0)
+ first_iter = f_model.get_iter_first()
+ first_child_value = f_model.get_value(first_iter, 0)
# get two steps up
- parent_value = self.model.get_parent_discs_value(self.model.get_parent_discs_value(first_child_value))
+ value = self.model.get_parent_discs_value(first_child_value)
+ parent_value = self.model.get_parent_discs_value(value)
iter = self.model.discs_tree.get_iter_first()
while iter:
- if self.model.discs_tree.get_value(iter,0) == parent_value:
- self.view['discs'].set_cursor(self.model.discs_tree.get_path(iter))
+ current_value = self.model.discs_tree.get_value(iter,0)
+ if current_value == parent_value:
+ path = self.model.discs_tree.get_path(iter)
+ self.view['discs'].set_cursor(path)
iter = None
else:
iter = self.model.discs_tree.iter_next()
def on_files_row_activated(self, files_obj, row, column):
- """On directory doubleclick in files listview dive into desired branch."""
+ """On directory doubleclick in files listview dive into desired
+ branch."""
f_iter = self.model.files_list.get_iter(row)
current_id = self.model.files_list.get_value(f_iter,0)
@@ -336,11 +363,14 @@ class MainController(Controller):
if not self.view['discs'].row_expanded(d_path):
self.view['discs'].expand_row(d_path,False)
- new_iter = self.model.discs_tree.iter_children(self.model.discs_tree.get_iter(d_path))
+ iter = self.model.discs_tree.get_iter(d_path)
+ new_iter = self.model.discs_tree.iter_children(iter)
if new_iter:
while new_iter:
- if self.model.discs_tree.get_value(new_iter,0) == current_id:
- self.view['discs'].set_cursor(self.model.discs_tree.get_path(new_iter))
+ current_value = self.model.discs_tree.get_value(new_iter,0)
+ if current_value == current_id:
+ path = self.model.discs_tree.get_path(new_iter)
+ self.view['discs'].set_cursor(path)
new_iter = self.model.discs_tree.iter_next(new_iter)
return
@@ -366,11 +396,11 @@ class MainController(Controller):
filepath, label = self.model.get_label_and_filepath(path)
if self.model.get_source(path) == self.model.CD:
- if self.__addCD(label):
+ if self.__add_cd(label):
self.model.delete(self.model.discs_tree.get_iter(path[0],0))
pass
elif self.model.get_source(path) == self.model.DR:
- if self.__addDirectory(filepath, label):
+ if self.__add_directory(filepath, label):
self.model.delete(self.model.discs_tree.get_iter(path[0]))
pass
return
@@ -378,17 +408,19 @@ class MainController(Controller):
def on_delete2_activate(self, menu_item):
model = self.view['discs'].get_model()
try:
- selected_iter = self.model.discs_tree.get_iter(self.view['discs'].get_cursor()[0])
+ path, column = self.view['discs'].get_cursor()
+ selected_iter = self.model.discs_tree.get_iter(path)
except:
return
if self.model.config.confd['delwarn']:
name = self.model.discs_tree.get_value(selected_iter,1)
- obj = Dialogs.Qst('Delete %s' % name, 'Delete %s?' % name, 'Object will be permanently removed.')
+ obj = Dialogs.Qst('Delete %s' % name, 'Delete %s?' % name,
+ 'Object will be permanently removed.')
if not obj.run():
return
self.model.delete(selected_iter)
self.model.unsaved_project = True
- self.__setTitle(filepath=self.model.filename, modified=True)
+ self.__set_title(filepath=self.model.filename, modified=True)
return
def on_debugbtn_clicked(self,widget):
@@ -402,11 +434,6 @@ class MainController(Controller):
print "db_connection = %s" % self.model.db_connection
print "abort = %s" % self.model.abort
print "self.model.config.recent = %s" % self.model.config.recent
- it = self.model.tags_list.get_iter_first()
- myit = self.model.tags_list.insert_before(None,None)
- self.model.tags_list.set_value(myit,0,0)
- self.model.tags_list.set_value(myit,1,"nazwa")
- self.model.tags_list.set_value(myit,2,231233)
print "source: %s" % self.model.source
#####################
@@ -414,7 +441,8 @@ class MainController(Controller):
def property_statusmsg_value_change(self, model, old, new):
if self.statusbar_id != 0:
self.view['mainStatus'].remove(self.context_id, self.statusbar_id)
- self.statusbar_id = self.view['mainStatus'].push(self.context_id, "%s" % new)
+ self.statusbar_id = self.view['mainStatus'].push(self.context_id,
+ "%s" % new)
return
def property_busy_value_change(self, model, old, new):
@@ -426,17 +454,21 @@ class MainController(Controller):
if not new and self.scan_cd:
self.scan_cd = False
# umount/eject cd
- if self.model.config.confd['eject'] and self.model.config.confd['ejectapp']:
- msg = deviceHelper.eject_cd(self.model.config.confd['ejectapp'],self.model.config.confd['cd'])
+ ejectapp = self.model.config.confd['ejectapp']
+ if self.model.config.confd['eject'] and ejectapp:
+ msg = deviceHelper.eject_cd(ejectapp,
+ self.model.config.confd['cd'])
if msg != 'ok':
Dialogs.Wrn("error ejecting device - pyGTKtalog",
- "Cannot eject device pointed to %s" % self.model.config.confd['cd'],
+ "Cannot eject device pointed to %s" %
+ self.model.config.confd['cd'],
"Last eject message:\n%s" % msg)
else:
msg = deviceHelper.volumount(self.model.config.confd['cd'])
if msg != 'ok':
Dialogs.Wrn("error unmounting device - pyGTKtalog",
- "Cannot unmount device pointed to %s" % self.model.config.confd['cd'],
+ "Cannot unmount device pointed to %s" %
+ self.model.config.confd['cd'],
"Last umount message:\n%s" % msg)
return
@@ -448,8 +480,10 @@ class MainController(Controller):
# private class functions
def __open(self, path=None):
"""Open catalog file"""
- if self.model.unsaved_project and self.model.config.confd['confirmabandon']:
- obj = Dialogs.Qst('Unsaved data - pyGTKtalog','There is not saved database','Pressing "Ok" will abandon catalog.')
+ confirm = self.model.config.confd['confirmabandon']
+ if self.model.unsaved_project and confirm:
+ obj = Dialogs.Qst('Unsaved data - pyGTKtalog','There is not saved \
+ database','Pressing "Ok" will abandon catalog.')
if not obj.run():
return
@@ -458,17 +492,18 @@ class MainController(Controller):
if path:
if not self.model.open(path):
- Dialogs.Err("Error opening file - pyGTKtalog","Cannot open file %s." % path)
+ Dialogs.Err("Error opening file - pyGTKtalog","Cannot open \
+ file %s." % path)
else:
self.__generate_recent_menu()
- self.__activateUI(path)
+ self.__activate_ui(path)
return
def __save(self):
"""Save catalog to file"""
if self.model.filename:
self.model.save()
- self.__setTitle(filepath=self.model.filename)
+ self.__set_title(filepath=self.model.filename)
else:
self.__save_as()
pass
@@ -480,12 +515,12 @@ class MainController(Controller):
ret, err = self.model.save(path)
if ret:
self.model.config.add_recent(path)
- self.__setTitle(filepath=path)
+ self.__set_title(filepath=path)
else:
- Dialogs.Err("Error writing file - pyGTKtalog","Cannot write file %s." % path, "%s" % err)
- pass
+ Dialogs.Err("Error writing file - pyGTKtalog","Cannot write \
+ file %s." % path, "%s" % err)
- def __addCD(self, label=None):
+ def __add_cd(self, label=None):
"""Add directory structure from cd/dvd disc"""
mount = deviceHelper.volmount(self.model.config.confd['cd'])
if mount == 'ok':
@@ -499,15 +534,16 @@ class MainController(Controller):
self.model.source = self.model.CD
self.model.scan(self.model.config.confd['cd'],label)
self.model.unsaved_project = True
- self.__setTitle(filepath=self.model.filename, modified=True)
+ self.__set_title(filepath=self.model.filename, modified=True)
return True
else:
Dialogs.Wrn("Error mounting device - pyGTKtalog",
- "Cannot mount device pointed to %s" % self.model.config.confd['cd'],
+ "Cannot mount device pointed to %s" %
+ self.model.config.confd['cd'],
"Last mount message:\n%s" % mount)
return False
- def __addDirectory(self, path=None, label=None):
+ def __add_directory(self, path=None, label=None):
if not label or not path:
res = Dialogs.PointDirectoryToAdd().run()
if res !=(None,None):
@@ -520,24 +556,26 @@ class MainController(Controller):
self.model.source = self.model.DR
self.model.scan(path, label)
self.model.unsaved_project = True
- self.__setTitle(filepath=self.model.filename, modified=True)
+ self.__set_title(filepath=self.model.filename, modified=True)
return True
- def __doQuit(self):
+ def __do_quit(self):
"""Quit and save window parameters to config file"""
# check if any unsaved project is on go.
- if self.model.unsaved_project and self.model.config.confd['confirmquit']:
+ if self.model.unsaved_project and \
+ self.model.config.confd['confirmquit']:
if not Dialogs.Qst('Quit application - pyGTKtalog',
'Do you really want to quit?',
- "Current database is not saved, any changes will be lost.").run():
+ "Current database is not saved, any changes \
+ will be lost.").run():
return
- self.__storeSettings()
+ self.__store_settings()
self.model.cleanup()
gtk.main_quit()
return False
- def __newDB(self):
+ def __new_db(self):
self.__tag_cloud()
@@ -545,7 +583,8 @@ class MainController(Controller):
if self.model.unsaved_project:
if not Dialogs.Qst('Unsaved data - pyGTKtalog',
"Current database isn't saved",
- 'All changes will be lost. Do you really want to abandon it?').run():
+ 'All changes will be lost. \
+ Do you really want to abandon it?').run():
return
self.model.new()
@@ -555,11 +594,13 @@ class MainController(Controller):
buf.set_text(txt)
self.view['details'].set_buffer(buf)'''
- self.__activateUI()
+ self.__activate_ui()
self.view['tag_cloud_ex'].set_sensitive(True)
rect = self.view['tag_cloud_ex'].allocation
- print rect.width, rect.height, rect.x, rect.y
+ if __debug__:
+ print "c_main.py: __new_db(): tag_cloud_ex widget \
+ dimensions", rect.width, rect.height, rect.x, rect.y
return
def __setup_disc_treeview(self):
@@ -640,15 +681,15 @@ class MainController(Controller):
return
def __abort(self):
- """When scanning thread is activated and user push the cancel button,
+ """When scanning thread is runing and user push the cancel button,
models abort attribute trigger cancelation for scan operation"""
self.model.abort = True
return
- def __activateUI(self, name=False):
+ def __activate_ui(self, name=None):
"""Make UI active, and set title"""
self.model.unsaved_project = False
- self.__setTitle(filepath=name)
+ self.__set_title(filepath=name)
for widget in self.widgets:
try:
self.view[widget].set_sensitive(True)
@@ -659,7 +700,7 @@ class MainController(Controller):
gtk.main_iteration()
return
- def __setTitle(self, filepath=None, modified=False):
+ def __set_title(self, filepath=None, modified=False):
"""Set main window title"""
if modified:
mod = " *"
@@ -667,22 +708,27 @@ class MainController(Controller):
mod = ""
if filepath:
- self.view['main'].set_title("%s - pyGTKtalog%s" % (os.path.basename(filepath), mod))
+ self.view['main'].set_title("%s - pyGTKtalog%s" %
+ (os.path.basename(filepath), mod))
else:
self.view['main'].set_title("untitled - pyGTKtalog%s" % mod)
return
- def __storeSettings(self):
- """Store window size and pane position in config file (using config object from model)"""
+ def __store_settings(self):
+ """Store window size and pane position in config file (using config
+ object from model)"""
if self.model.config.confd['savewin']:
- self.model.config.confd['wx'], self.model.config.confd['wy'] = self.view['main'].get_size()
+ self.model.config.confd['wx'], self.model.config.confd['wy'] = \
+ self.view['main'].get_size()
if self.model.config.confd['savepan']:
- self.model.config.confd['h'],self.model.config.confd['v'] = self.view['hpaned1'].get_position(), self.view['vpaned1'].get_position()
+ self.model.config.confd['h'] = self.view['hpaned1'].get_position()
+ self.model.config.confd['v'] = self.view['vpaned1'].get_position()
self.model.config.save()
return
def __popup_discs_menu(self, event):
- self.view['discs_popup'].popup(None, None, None, event.button, event.time)
+ self.view['discs_popup'].popup(None, None, None, event.button,
+ event.time)
self.view['discs_popup'].show_all()
return
@@ -723,11 +769,13 @@ class MainController(Controller):
if event.type == gtk.gdk.BUTTON_RELEASE:
print tag.get_property('name')
elif event.type == gtk.gdk.MOTION_NOTIFY:
- w = self.view['tag_cloud_textview'].get_window(gtk.TEXT_WINDOW_TEXT)
+ w = \
+ self.view['tag_cloud_textview'].get_window(gtk.TEXT_WINDOW_TEXT)
if w:
w.set_cursor(gtk.gdk.Cursor(gtk.gdk.HAND2))
else:
- w = self.view['tag_cloud_textview'].get_window(gtk.TEXT_WINDOW_TEXT)
+ w = \
+ self.view['tag_cloud_textview'].get_window(gtk.TEXT_WINDOW_TEXT)
if w:
w.set_cursor(None)
@@ -750,4 +798,5 @@ class MainController(Controller):
tag.connect('event', tag_cloud_click, tag)
buff.insert_with_tags(iter, cloud['name'], tag)
self.view['tag_cloud_textview'].set_buffer(buff)
+
pass # end of class
diff --git a/src/models/m_main.py b/src/models/m_main.py
index c3177d0..493692f 100644
--- a/src/models/m_main.py
+++ b/src/models/m_main.py
@@ -99,6 +99,17 @@ class MainModel(ModelMT):
# - #rgb
# - #rrggbb
self.tag_cloud = []
+ '''{'id': str(1), 'name': "bezpieczeństwo", 'size': 10, 'color': '#666'},
+ {'id': str(2), 'name': "bsd", 'size': 14, 'color': '#333'},
+ {'id': str(3), 'name': "debian", 'size': 18, 'color': '#333'},
+ {'id': str(4), 'name': "fedora", 'size': 12, 'color': '#666'},
+ {'id': str(5), 'name': "firefox", 'size': 40, 'color': '#666'},
+ {'id': str(6), 'name': "gnome", 'size': 26, 'color': '#333'},
+ {'id': str(7), 'name': "gentoo", 'size': 30, 'color': '#000'},
+ {'id': str(8), 'name': "kde", 'size': 20, 'color': '#333'},
+ {'id': str(9), 'name': "kernel", 'size': 10, 'color': '#666'},
+ {'id': str(10), 'name': "windows", 'size': 18, 'color': '#333'},
+ ]'''
return
def cleanup(self):
@@ -110,9 +121,6 @@ class MainModel(ModelMT):
pass
return
- def load(self):
- pass
-
def new(self):
self.unsaved_project = False
self.__create_internal_dirname()
@@ -125,12 +133,17 @@ class MainModel(ModelMT):
def save(self, filename=None):
"""save tared directory at given catalog fielname"""
+ if not filename and not self.filename:
+ if __debug__:
+ return False, "no filename detected!"
+ return
+
if filename:
self.filename = filename
- val, err = self.__compress_and_save()
- if not val:
- self.filename = None
- return val, err
+ val, err = self.__compress_and_save()
+ if not val:
+ self.filename = None
+ return val, err
def open(self, filename=None):
"""try to open db file"""
@@ -206,6 +219,17 @@ class MainModel(ModelMT):
self.thread.start()
return
+ def set_label(self, id, label=None):
+ if label:
+ self.db_cursor.execute("update files set filename=? \
+ where id=? and parent_id=1", (label, id))
+ self.db_connection.commit()
+ self.__fetch_db_into_treestore()
+ else:
+ if __debug__:
+ print "m_main.py: set_label(): no label defined"
+ return
+
def get_root_entries(self, id=None):
"""Get all children down from sepcified root"""
try:
@@ -620,9 +644,6 @@ class MainModel(ModelMT):
detect_types=sqlite.PARSE_DECLTYPES|sqlite.PARSE_COLNAMES)
db_cursor = db_connection.cursor()
- print "%s" % \
- (self.internal_dirname + '/db.sqlite')
-
# fetch all the directories
sql = """
SELECT id, parent_id, filename FROM files
@@ -704,7 +725,7 @@ class MainModel(ModelMT):
def __append_added_volume(self):
"""append branch from DB to existing tree model"""
#connect
- db_connection = sqlite.connect("%s" % \
+ db_connection = sqlite.connect("%s" %
(self.internal_dirname + '/db.sqlite'),
detect_types=sqlite.PARSE_DECLTYPES|sqlite.PARSE_COLNAMES)
db_cursor = db_connection.cursor()
@@ -736,7 +757,7 @@ class MainModel(ModelMT):
# launch scanning.
get_children()
if __debug__:
- print "m_main.py: __fetch_db_into_treestore() tree generation time: ", (datetime.now() - start_date)
+ print "m_main.py: __append_added_volume() tree generation time: ", (datetime.now() - start_date)
db_connection.close()
return