Exemplo n.º 1
0
    def show(self, notebook_filename, version=None):

        self.xml = gtk.glade.XML(get_resource("rc", "keepnote.glade"),
                                 "update_notebook_dialog")
        self.dialog = self.xml.get_widget("update_notebook_dialog")
        self.xml.signal_autoconnect(self)
        self.dialog.connect(
            "close", lambda w: self.dialog.response(gtk.RESPONSE_CANCEL))
        self.dialog.set_transient_for(self.main_window)

        self.text = self.xml.get_widget("update_message_label")
        self.saved = self.xml.get_widget("save_backup_check")

        if version is None:
            version = notebooklib.get_notebook_version(notebook_filename)

        self.text.set_text(MESSAGE_TEXT %
                           (version, notebooklib.NOTEBOOK_FORMAT_VERSION))

        ret = False
        response = self.dialog.run()

        if response == gtk.RESPONSE_OK:

            # do backup
            if self.saved.get_active():
                if not self.backup(notebook_filename):
                    self.dialog.destroy()
                    return False

            # do update
            def func(task):
                notebook_update.update_notebook(
                    notebook_filename, notebooklib.NOTEBOOK_FORMAT_VERSION)

            task = tasklib.Task(func)
            dialog2 = dialog_wait.WaitDialog(self.main_window)
            dialog2.show("Updating Notebook",
                         "Updating notebook...",
                         task,
                         cancel=False)

            ret = not task.aborted()
            ty, err, tb = task.exc_info()
            if err:
                self.main_window.error("Error while updating", err, tb)
                ret = False

        self.dialog.destroy()

        if ret:
            dialog = gtk.MessageDialog(
                self.main_window,
                flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
                type=gtk.MESSAGE_INFO,
                buttons=gtk.BUTTONS_OK,
                message_format="Notebook updated successfully")
            dialog.set_title("Notebook Update Complete")
            dialog.run()
            dialog.destroy()

        return ret
Exemplo n.º 2
0
    def show(self, node=None):

        self.node = node

        self.xml = gtk.glade.XML(get_resource("rc", "keepnote.glade"),
                                 "node_icon_dialog")
        self.dialog = self.xml.get_widget("node_icon_dialog")
        self.xml.signal_autoconnect(self)
        self.dialog.connect(
            "close", lambda w: self.dialog.response(gtk.RESPONSE_CANCEL))
        self.dialog.set_transient_for(self.main_window)

        self.icon_entry = self.xml.get_widget("icon_entry")
        self.icon_open_entry = self.xml.get_widget("icon_open_entry")
        self.icon_image = self.xml.get_widget("icon_image")
        self.icon_open_image = self.xml.get_widget("icon_open_image")

        self.standard_iconview = self.xml.get_widget("standard_iconview")
        self.notebook_iconview = self.xml.get_widget("notebook_iconview")
        self.quick_iconview = self.xml.get_widget("quick_pick_iconview")

        self.standard_iconlist = gtk.ListStore(gtk.gdk.Pixbuf, str)
        self.notebook_iconlist = gtk.ListStore(gtk.gdk.Pixbuf, str)
        self.quick_iconlist = gtk.ListStore(gtk.gdk.Pixbuf, str)

        self.iconviews = [
            self.standard_iconview, self.notebook_iconview, self.quick_iconview
        ]

        self.iconlists = [
            self.standard_iconlist, self.notebook_iconlist, self.quick_iconlist
        ]

        self.iconview_signals = {}
        for iconview in self.iconviews:
            self.iconview_signals[iconview] = \
                iconview.connect("selection-changed",
                                 self.on_iconview_selection_changed)

            iconview.connect("item-activated",
                             lambda w, it: self.on_set_icon_button_clicked(w))

        if node:
            self.set_icon("icon", node.get_attr("icon", ""))
            self.set_icon("icon_open", node.get_attr("icon_open", ""))

        self.populate_iconview()

        # run dialog
        response = self.dialog.run()

        icon_file = None
        icon_open_file = None

        if response == gtk.RESPONSE_OK:
            # icon filenames
            icon_file = self.icon_entry.get_text()
            icon_open_file = self.icon_open_entry.get_text()

            if icon_file.strip() == "":
                icon_file = ""
            if icon_open_file.strip() == "":
                icon_open_file = ""

        self.dialog.destroy()

        return icon_file, icon_open_file
Exemplo n.º 3
0
    def show(self, node=None):

        self.node = node

        self.xml = gtk.glade.XML(get_resource("rc", "keepnote.glade"),
                                 "node_icon_dialog")
        self.dialog = self.xml.get_widget("node_icon_dialog")
        self.xml.signal_autoconnect(self)
        self.dialog.connect("close", lambda w:
                            self.dialog.response(gtk.RESPONSE_CANCEL))
        self.dialog.set_transient_for(self.main_window)

        self.icon_entry = self.xml.get_widget("icon_entry")
        self.icon_open_entry = self.xml.get_widget("icon_open_entry")
        self.icon_image = self.xml.get_widget("icon_image")
        self.icon_open_image = self.xml.get_widget("icon_open_image")
        
        self.standard_iconview = self.xml.get_widget("standard_iconview")
        self.notebook_iconview = self.xml.get_widget("notebook_iconview")
        self.quick_iconview = self.xml.get_widget("quick_pick_iconview")

        self.standard_iconlist = gtk.ListStore(gtk.gdk.Pixbuf, str)
        self.notebook_iconlist = gtk.ListStore(gtk.gdk.Pixbuf, str)
        self.quick_iconlist = gtk.ListStore(gtk.gdk.Pixbuf, str)
        

        self.iconviews = [
            self.standard_iconview,
            self.notebook_iconview,
            self.quick_iconview]

        self.iconlists = [
            self.standard_iconlist,
            self.notebook_iconlist,
            self.quick_iconlist]
        
        self.iconview_signals = {}
        for iconview in self.iconviews:
            self.iconview_signals[iconview] = \
                iconview.connect("selection-changed",
                                 self.on_iconview_selection_changed)
        
            iconview.connect("item-activated", lambda w,it:
                             self.on_set_icon_button_clicked(w))

        if node:            
            self.set_icon("icon", node.get_attr("icon", ""))
            self.set_icon("icon_open", node.get_attr("icon_open", ""))


        self.populate_iconview()

        # run dialog
        response = self.dialog.run()
        
        icon_file = None
        icon_open_file = None
        
        if response == gtk.RESPONSE_OK:
            # icon filenames
            icon_file = self.icon_entry.get_text()
            icon_open_file = self.icon_open_entry.get_text()

            if icon_file.strip() == "":
                icon_file = ""
            if icon_open_file.strip() == "":
                icon_open_file = ""
            
        
        self.dialog.destroy()

        return icon_file, icon_open_file
    def show(self, notebook_filename, version=None):

        self.xml = gtk.glade.XML(get_resource("rc", "keepnote.glade"),
                                 "update_notebook_dialog")
        self.dialog = self.xml.get_widget("update_notebook_dialog")
        self.xml.signal_autoconnect(self)
        self.dialog.connect("close", lambda w:
                            self.dialog.response(gtk.RESPONSE_CANCEL))
        self.dialog.set_transient_for(self.main_window)
        
        self.text = self.xml.get_widget("update_message_label")
        self.saved = self.xml.get_widget("save_backup_check")


        if version is None:
            version = notebooklib.get_notebook_version(notebook_filename)
        
        self.text.set_text(MESSAGE_TEXT %
                           (version,
                            notebooklib.NOTEBOOK_FORMAT_VERSION))

        ret = False
        response = self.dialog.run()
        
        if response == gtk.RESPONSE_OK:

            # do backup
            if self.saved.get_active():
                if not self.backup(notebook_filename):
                    self.dialog.destroy()
                    return False

            # do update
            def func(task):
                notebook_update.update_notebook(
                    notebook_filename,
                    notebooklib.NOTEBOOK_FORMAT_VERSION)
                    
            task = tasklib.Task(func)
            dialog2 = dialog_wait.WaitDialog(self.main_window)
            dialog2.show("Updating Notebook",
                         "Updating notebook...",
                         task, cancel=False)

            ret = not task.aborted()
            ty, err, tb =  task.exc_info()
            if err:
                self.main_window.error("Error while updating", err, tb)
                ret = False
        
        self.dialog.destroy()

        if ret:
            dialog = gtk.MessageDialog(self.main_window, 
            flags= gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
            type=gtk.MESSAGE_INFO, 
            buttons=gtk.BUTTONS_OK, 
            message_format="Notebook updated successfully")
            dialog.set_title("Notebook Update Complete")
            dialog.run()
            dialog.destroy()


        return ret