mirror of
https://github.com/gryf/pygtktalog.git
synced 2025-12-17 11:30:19 +01:00
* Code refactoring.
* Added toolbar support.
This commit is contained in:
78
mainwin.py
78
mainwin.py
@@ -348,7 +348,7 @@ Public License instead of this License.
|
|||||||
"""
|
"""
|
||||||
#}}}
|
#}}}
|
||||||
|
|
||||||
__version__ = "0.2"
|
__version__ = "0.3"
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import mimetypes
|
import mimetypes
|
||||||
@@ -392,11 +392,32 @@ class PyGTKtalog:
|
|||||||
self.details = self.pygtkcat.get_widget("details")
|
self.details = self.pygtkcat.get_widget("details")
|
||||||
self.details.hide()
|
self.details.hide()
|
||||||
|
|
||||||
self.widgets = ("discs","files","details",'save1','save_as1','cut1','copy1','paste1','delete1','add_cd','add_directory1')
|
self.widgets = ("discs","files","details",'save1','save_as1',
|
||||||
|
'cut1','copy1','paste1','delete1','add_cd','add_directory1',
|
||||||
|
'tb_save','tb_addcd','tb_find'
|
||||||
|
)
|
||||||
for w in self.widgets:
|
for w in self.widgets:
|
||||||
a = self.pygtkcat.get_widget(w)
|
a = self.pygtkcat.get_widget(w)
|
||||||
a.set_sensitive(False)
|
a.set_sensitive(False)
|
||||||
|
|
||||||
|
# toolbar/status bar
|
||||||
|
self.menu_toolbar = self.pygtkcat.get_widget("toolbar1")
|
||||||
|
self.menu_toolbar.set_active(self.conf.confd['showtoolbar'])
|
||||||
|
self.menu_statusbar = self.pygtkcat.get_widget("status_bar1")
|
||||||
|
self.menu_statusbar.set_active(self.conf.confd['showstatusbar'])
|
||||||
|
self.toolbar = self.pygtkcat.get_widget("maintoolbar")
|
||||||
|
if self.conf.confd['showtoolbar']:
|
||||||
|
self.toolbar.show()
|
||||||
|
else:
|
||||||
|
self.toolbar.hide()
|
||||||
|
self.statusprogress = self.pygtkcat.get_widget("statusprogress")
|
||||||
|
if self.conf.confd['showstatusbar']:
|
||||||
|
self.statusprogress.show()
|
||||||
|
else:
|
||||||
|
self.statusprogress.hide()
|
||||||
|
|
||||||
|
|
||||||
|
# window size
|
||||||
a = self.pygtkcat.get_widget('hpaned1')
|
a = self.pygtkcat.get_widget('hpaned1')
|
||||||
a.set_position(self.conf.confd['h'])
|
a.set_position(self.conf.confd['h'])
|
||||||
a = self.pygtkcat.get_widget('vpaned1')
|
a = self.pygtkcat.get_widget('vpaned1')
|
||||||
@@ -406,16 +427,35 @@ class PyGTKtalog:
|
|||||||
# sygnały:
|
# sygnały:
|
||||||
dic = {"on_main_destroy_event" :self.doQuit,
|
dic = {"on_main_destroy_event" :self.doQuit,
|
||||||
"on_quit1_activate" :self.doQuit,
|
"on_quit1_activate" :self.doQuit,
|
||||||
|
"on_tb_quit_clicked" :self.doQuit,
|
||||||
"on_new1_activate" :self.newDB,
|
"on_new1_activate" :self.newDB,
|
||||||
|
"on_tb_new_clicked" :self.newDB,
|
||||||
"on_add_cd_activate" :self.addCD,
|
"on_add_cd_activate" :self.addCD,
|
||||||
|
"on_tb_addcd_clicked" :self.addCD,
|
||||||
"on_about1_activate" :self.about,
|
"on_about1_activate" :self.about,
|
||||||
"on_properties1_activate":self.preferences,
|
"on_properties1_activate":self.preferences,
|
||||||
|
"on_status_bar1_activate":self.toggle_status_bar,
|
||||||
|
"on_toolbar1_activate" :self.toggle_toolbar,
|
||||||
}
|
}
|
||||||
|
|
||||||
# connect signals
|
# connect signals
|
||||||
self.pygtkcat.signal_autoconnect(dic)
|
self.pygtkcat.signal_autoconnect(dic)
|
||||||
self.window.connect("delete_event", self.deleteEvent)
|
self.window.connect("delete_event", self.deleteEvent)
|
||||||
|
|
||||||
|
def toggle_toolbar(self,widget):
|
||||||
|
self.conf.confd['showtoolbar'] = self.menu_toolbar.get_active()
|
||||||
|
if self.menu_toolbar.get_active():
|
||||||
|
self.toolbar.show()
|
||||||
|
else:
|
||||||
|
self.toolbar.hide()
|
||||||
|
|
||||||
|
def toggle_status_bar(self,widget):
|
||||||
|
self.conf.confd['showstatusbar'] = self.menu_statusbar.get_active()
|
||||||
|
if self.menu_statusbar.get_active():
|
||||||
|
self.statusprogress.show()
|
||||||
|
else:
|
||||||
|
self.statusprogress.hide()
|
||||||
|
|
||||||
def storeSettings(self):
|
def storeSettings(self):
|
||||||
"""Store window size and pane position in config file (using config object)"""
|
"""Store window size and pane position in config file (using config object)"""
|
||||||
if self.conf.confd['savewin']:
|
if self.conf.confd['savewin']:
|
||||||
@@ -440,8 +480,8 @@ class PyGTKtalog:
|
|||||||
except:
|
except:
|
||||||
# check if any unsaved project is on go.
|
# check if any unsaved project is on go.
|
||||||
try:
|
try:
|
||||||
if self.active_project and self.unsaved_project:
|
if self.unsaved_project:
|
||||||
if self.conf.confd['confirmunsaved']:
|
if self.conf.confd['confirmquit']:
|
||||||
obj = dialogs.Qst('Quit application - pyGTKtalog','There is not saved database\nDo you really want to quit?')
|
obj = dialogs.Qst('Quit application - pyGTKtalog','There is not saved database\nDo you really want to quit?')
|
||||||
if not obj.run():
|
if not obj.run():
|
||||||
return
|
return
|
||||||
@@ -453,8 +493,16 @@ class PyGTKtalog:
|
|||||||
|
|
||||||
def newDB(self,widget):
|
def newDB(self,widget):
|
||||||
"""create database in temporary place"""
|
"""create database in temporary place"""
|
||||||
|
try:
|
||||||
|
if self.unsaved_project:
|
||||||
|
if self.conf.confd['confirmabandon']:
|
||||||
|
obj = dialogs.Qst('Unsaved data - pyGTKtalog','There is not saved database\nDo you really want to abandon it?')
|
||||||
|
if not obj.run():
|
||||||
|
return
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
self.active_project = True
|
self.active_project = True
|
||||||
self.unsaved_project = True
|
self.unsaved_project = False
|
||||||
|
|
||||||
self.window.set_title("untitled - pyGTKtalog")
|
self.window.set_title("untitled - pyGTKtalog")
|
||||||
for w in self.widgets:
|
for w in self.widgets:
|
||||||
@@ -481,8 +529,8 @@ class PyGTKtalog:
|
|||||||
"""checkout actual database changed. If so, do the necessary ask."""
|
"""checkout actual database changed. If so, do the necessary ask."""
|
||||||
# check if any unsaved project is on go.
|
# check if any unsaved project is on go.
|
||||||
try:
|
try:
|
||||||
if self.active_project and self.unsaved_project:
|
if self.unsaved_project:
|
||||||
if self.conf.confd['confirmunsaved']:
|
if self.conf.confd['confirmquit']:
|
||||||
obj = dialogs.Qst('Quit application - pyGTKtalog','There is not saved database\nDo you really want to quit?')
|
obj = dialogs.Qst('Quit application - pyGTKtalog','There is not saved database\nDo you really want to quit?')
|
||||||
if not obj.run():
|
if not obj.run():
|
||||||
return True
|
return True
|
||||||
@@ -501,13 +549,20 @@ class PyGTKtalog:
|
|||||||
guessed_label = deviceHelper.volname(self.conf.confd['cd'])
|
guessed_label = deviceHelper.volname(self.conf.confd['cd'])
|
||||||
obj = dialogs.InputDiskLabel(guessed_label)
|
obj = dialogs.InputDiskLabel(guessed_label)
|
||||||
if obj.run() != None:
|
if obj.run() != None:
|
||||||
|
|
||||||
self.scan(self.conf.confd['cd'])
|
self.scan(self.conf.confd['cd'])
|
||||||
deviceHelper.mountpoint_to_dev(self.conf.confd['cd'])
|
|
||||||
|
self.unsaved_project = True
|
||||||
|
|
||||||
|
# umount/eject cd
|
||||||
if self.conf.confd['eject']:
|
if self.conf.confd['eject']:
|
||||||
deviceHelper.eject_cd()
|
msg = deviceHelper.eject_cd()
|
||||||
|
if msg != 'ok':
|
||||||
|
dialogs.Wrn("error ejecting device - pyGTKtalog","Cannot eject device pointed to %s.\nLast eject message:\n<tt>%s</tt>" % (self.conf.confd['cd'],msg))
|
||||||
else:
|
else:
|
||||||
if deviceHelper.volmount(self.conf.confd['cd'])!= 'ok':
|
msg = deviceHelper.volumount(self.conf.confd['cd'])
|
||||||
dialogs.Wrn("error unmounting device - pyGTKtalog","Cannot unmount device pointed to %s.\nLast umount message:\n<tt>%s</tt>" % (self.conf.confd['cd'],mount))
|
if msg != 'ok':
|
||||||
|
dialogs.Wrn("error unmounting device - pyGTKtalog","Cannot unmount device pointed to %s.\nLast umount message:\n<tt>%s</tt>" % (self.conf.confd['cd'],msg))
|
||||||
else:
|
else:
|
||||||
dialogs.Wrn("error mounting device - pyGTKtalog","Cannot mount device pointed to %s.\nLast mount message:\n<tt>%s</tt>" % (self.conf.confd['cd'],mount))
|
dialogs.Wrn("error mounting device - pyGTKtalog","Cannot mount device pointed to %s.\nLast mount message:\n<tt>%s</tt>" % (self.conf.confd['cd'],mount))
|
||||||
|
|
||||||
@@ -546,7 +601,6 @@ class PyGTKtalog:
|
|||||||
mime.guess_type(i)[0].split("/")[0] == 'video':
|
mime.guess_type(i)[0].split("/")[0] == 'video':
|
||||||
# video only
|
# video only
|
||||||
info = filetypeHelper.guess_video(os.path.join(root,i))
|
info = filetypeHelper.guess_video(os.path.join(root,i))
|
||||||
#print info
|
|
||||||
elif i[-3:].lower() in img_ext or \
|
elif i[-3:].lower() in img_ext or \
|
||||||
mime.guess_type(i)!= (None,None) and \
|
mime.guess_type(i)!= (None,None) and \
|
||||||
mime.guess_type(i)[0].split("/")[0] == 'image':
|
mime.guess_type(i)[0].split("/")[0] == 'image':
|
||||||
|
|||||||
Reference in New Issue
Block a user