mirror of
https://github.com/gryf/pygtktalog.git
synced 2025-12-17 19:40:21 +01:00
* Added notebook widget for file preview.
* Added thumbnail preview.
This commit is contained in:
@@ -34,7 +34,6 @@ from utils import deviceHelper
|
||||
from gtkmvc import Controller
|
||||
|
||||
from c_config import ConfigController
|
||||
from c_details import DetailsController
|
||||
from views.v_config import ConfigView
|
||||
from models.m_config import ConfigModel
|
||||
|
||||
@@ -48,21 +47,22 @@ class MainController(Controller):
|
||||
"""Controller for main application window"""
|
||||
scan_cd = False
|
||||
widgets = (
|
||||
"discs","files",
|
||||
'save1','save_as1','cut1','copy1','paste1','delete1','add_cd','add_directory1',
|
||||
'tb_save','tb_addcd','tb_find',
|
||||
"discs","files",
|
||||
'save1','save_as1','cut1','copy1','paste1','delete1','add_cd','add_directory1',
|
||||
'tb_save','tb_addcd','tb_find','keywords','description',
|
||||
)
|
||||
widgets_all = (
|
||||
"discs","files",
|
||||
'file1','edit1','add_cd','add_directory1','help1',
|
||||
'tb_save','tb_addcd','tb_find','tb_new','tb_open','tb_quit',
|
||||
"discs","files",
|
||||
'file1','edit1','add_cd','add_directory1','help1',
|
||||
'tb_save','tb_addcd','tb_find','tb_new','tb_open','tb_quit',
|
||||
'keywords','description',
|
||||
)
|
||||
|
||||
widgets_cancel = ('cancel','cancel1')
|
||||
|
||||
def __init__(self, model):
|
||||
"""Initialize controller"""
|
||||
Controller.__init__(self, model)
|
||||
self.details = DetailsController(model.details)
|
||||
return
|
||||
|
||||
def register_view(self, view):
|
||||
@@ -115,11 +115,9 @@ class MainController(Controller):
|
||||
if self.model.filename != None:
|
||||
self.__activateUI(self.model.filename)
|
||||
|
||||
# register detail subview
|
||||
#self.view.create_sub_view(self.details)
|
||||
|
||||
# generate recent menu
|
||||
self.__generate_recent_menu()
|
||||
|
||||
# Show main window
|
||||
self.view['main'].show();
|
||||
return
|
||||
@@ -277,6 +275,7 @@ class MainController(Controller):
|
||||
print "c_main.py: on_files_cursor_changed() directory selected"
|
||||
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)
|
||||
self.__get_item_info(selected_item)
|
||||
if __debug__:
|
||||
@@ -654,10 +653,20 @@ class MainController(Controller):
|
||||
return
|
||||
|
||||
def __get_item_info(self, item):
|
||||
'''self.view['details'].show()
|
||||
txt = self.model.get_file_info(item)
|
||||
buf = self.view['details'].get_buffer()
|
||||
buf.set_text(txt)
|
||||
self.view['details'].set_buffer(buf)'''
|
||||
self.view['description'].show()
|
||||
set = self.model.get_file_info(item)
|
||||
|
||||
buf = self.view['description'].get_buffer()
|
||||
if set.has_key('description'):
|
||||
buf.set_text(set['description'])
|
||||
else:
|
||||
buf.set_text('')
|
||||
self.view['description'].set_buffer(buf)
|
||||
|
||||
if set.has_key('thumbnail'):
|
||||
self.view['thumb'].set_from_file(set['thumbnail'])
|
||||
self.view['thumb'].show()
|
||||
else:
|
||||
self.view['thumb'].hide()
|
||||
return
|
||||
pass # end of class
|
||||
|
||||
@@ -426,15 +426,23 @@ class MainModel(ModelMT):
|
||||
|
||||
def get_file_info(self, id):
|
||||
"""get file info from database"""
|
||||
self.db_cursor.execute("SELECT filename, date, size, type \
|
||||
FROM files WHERE id = ?", (id,))
|
||||
retval = {}
|
||||
self.db_cursor.execute("SELECT filename, date, size, type, filetype, \
|
||||
id FROM files WHERE id = ?", (id,))
|
||||
set = self.db_cursor.fetchone()
|
||||
if set == None:
|
||||
return ''
|
||||
if set:
|
||||
string = "Filename: %s\nDate: %s\nSize: %s\ntype: %s" % \
|
||||
(set[0], datetime.fromtimestamp(set[1]), set[2], set[3])
|
||||
retval['description'] = string
|
||||
|
||||
string = "Filename: %s\nDate: %s\nSize: %s\ntype: %s" % \
|
||||
(set[0], datetime.fromtimestamp(set[1]), set[2], set[3])
|
||||
return string
|
||||
if set[4] == self.F_IMG:
|
||||
self.db_cursor.execute("SELECT filename FROM thumbnails \
|
||||
WHERE file_id = ?",
|
||||
(id,))
|
||||
set = self.db_cursor.fetchone()
|
||||
if set:
|
||||
retval['thumbnail'] = os.path.join(self.internal_dirname, set[0])
|
||||
return retval
|
||||
|
||||
def get_source(self, path):
|
||||
"""get source of top level directory"""
|
||||
|
||||
@@ -34,13 +34,11 @@ class MainView(View):
|
||||
GLADE = os.path.join(utils.globals.GLADE_DIR, "main.glade")
|
||||
def __init__(self, ctrl):
|
||||
View.__init__(self, ctrl, self.GLADE)
|
||||
self.details = None
|
||||
|
||||
# hide v2.0 features
|
||||
self['separatormenuitem4'].hide()
|
||||
self['list1'].hide()
|
||||
self['thumbnails1'].hide()
|
||||
return
|
||||
|
||||
def create_sub_view(self, details_ctrl):
|
||||
"""attach sub view"""
|
||||
self.details = DetailsView(details_ctrl, False)
|
||||
vpan = self['vpaned1']
|
||||
vpan.add2(self.details.get_top_widget())
|
||||
return
|
||||
pass # end of class
|
||||
|
||||
Reference in New Issue
Block a user