Beispiel #1
0
    def rebuild_menus(self):
        ''' Builds the UI menus '''
        print('Rebuilding menus')
        m = self.menu
        m.clear()
        self.actions_unique_map = {}

        if prefs['username']=='guest' and prefs['password']=='guest':
            foo = True
        else:
            self.add_new_menu_item = create_menu_action_unique(self, m, _('&Add to Casanova') + '...', None, shortcut=False, triggered=self.add_book)
            self.casanova_book_submenu = m.addMenu(get_icon('images/link.png'), 'Linked text')
            self.create_menu_item_ex(self.casanova_book_submenu, 'Refresh metadata',
                    'images/update.png', 'Gets any updates to the metadata for this text from the server',
                    triggered=self.refresh_metadata)
            self.create_menu_item_ex(self.casanova_book_submenu, 'Upload metadata',
                    'images/commit.png', 'Send your metadata changes for this text to the server',
                    triggered=self.upload_metadata)
            self.casanova_book_submenu.addSeparator()
            self.create_menu_item_ex(self.casanova_book_submenu, 'Download',
                    'images/download.png', 'Download a file format from the Casanova server',
                    triggered=self.download_format)
            m.addSeparator()
            self.casanova_issue_submenu = m.addMenu(get_icon('images/link.png'), 'Get metadata')
            self.create_menu_item_ex(self.casanova_issue_submenu, 'Update issues',
                    'images/refresh.png', 'Get updates to issues from the Casanova server',
                    triggered=self.update_issues)
            self.author_menu_item = self.create_menu_item_ex(self.casanova_issue_submenu, 'Get all by author',
                    'images/download.png', 'Get metadata for all texts by this author',
                    triggered=self.update_author)
            self.create_menu_item_ex(self.casanova_issue_submenu, 'Search',
                    'images/download.png', 'Search Casanova titles and authors',
                    triggered=self.search)

        m.addSeparator()
        create_menu_action_unique(self, m, _('&Settings') + '...', None, shortcut=False, triggered=self.show_configuration)
        # Before we finalize, make sure we delete any actions for menus that are no longer displayed
        for menu_id, unique_name in self.old_actions_unique_map.iteritems():
            if menu_id not in self.actions_unique_map:
                self.gui.keyboard.unregister_shortcut(unique_name)
        self.old_actions_unique_map = self.actions_unique_map
        self.gui.keyboard.finalize()

        from calibre.gui2 import gprefs
        
        if self.name not in gprefs['action-layout-context-menu']:
            gprefs['action-layout-context-menu'] += (self.name, )
        if self.name not in gprefs['action-layout-toolbar']:
            gprefs['action-layout-toolbar'] += (self.name, )
        
        #gprefs['action-layout-context-menu'] += ('AAAARG', )
        #gprefs['action-layout-toolbar'] += ('AAAARG', )
        #print(gprefs['action-layout-toolbar'])
        # force add our menu into the gui toolbar
        #print(self.gui.tags_view.context_menu)
        #print(gprefs['action-layout-context-menu'])
        for x in (self.gui.preferences_action, self.qaction):
            x.triggered.connect(self.show_configuration)
Beispiel #2
0
 def _display_choices(self):
     self.values_list.clear()
     choices = self.mm.search(self.mi.title)
     if choices is None or len(choices)==0:
         item = QListWidgetItem(get_icon('images/books.png'), _('there seem to be no matches'), self.values_list)
         self.values_list.addItem(item)
     for id, name in choices.items():
         item = QListWidgetItem(get_icon('images/books.png'), name, self.values_list)
         item.setData(1, (id,))
         self.values_list.addItem(item)
Beispiel #3
0
 def _display_choices(self):
     self.values_list.clear()
     choices = self.mm.search(self.mi.title)
     if choices is None or len(choices) == 0:
         item = QListWidgetItem(get_icon('images/books.png'),
                                _('there seem to be no matches'),
                                self.values_list)
         self.values_list.addItem(item)
     for id, name in choices.items():
         item = QListWidgetItem(get_icon('images/books.png'), name,
                                self.values_list)
         item.setData(1, (id, ))
         self.values_list.addItem(item)
Beispiel #4
0
 def _display_issues(self):
     self.values_list.clear()
     issues = self.mm.get_all_issues(True)
     for id, issue in issues:
         item = QListWidgetItem(get_icon('images/books.png'), issue, self.values_list)
         item.setData(1, (id,))
         self.values_list.addItem(item)
Beispiel #5
0
 def _display_choices(self, choices):
     self.values_list.clear()
     for id, name in choices.items():
         item = QListWidgetItem(get_icon('images/books.png'), name,
                                self.values_list)
         item.setData(1, (id, ))
         self.values_list.addItem(item)
Beispiel #6
0
 def _display_choices(self):
     self.values_list.clear()
     for author, author_sort in self.choices.items():
         item = QListWidgetItem(get_icon('images/books.png'), author,
                                self.values_list)
         item.setData(1, (author_sort, ))
         self.values_list.addItem(item)
Beispiel #7
0
 def _display_issues(self):
     self.values_list.clear()
     issues = self.mm.get_all_issues(True)
     for id, issue in issues:
         item = QListWidgetItem(get_icon('images/books.png'), issue,
                                self.values_list)
         item.setData(1, (id, ))
         self.values_list.addItem(item)
Beispiel #8
0
 def _display_formats(self):
     self.values_list.clear()
     formats = self.dm.get_download_info(self.casanova_id)
     if isinstance(formats, list):
         for format in formats:
             item = QListWidgetItem(get_icon('images/books.png'), format['type'], self.values_list)
             item.setData(1, (format,))
             self.values_list.addItem(item)
     else:
         return error_dialog(self.gui, 'Casanova message', unicode(formats), show=True) 
Beispiel #9
0
 def _accept_clicked(self):
     #self._save_preferences()
     one_liner = unicode(self.one_liner_str.text())
     if one_liner=='':
         self.values_list.clear()
         item = QListWidgetItem(get_icon('images/books.png'), _('you need to enter a short description'), self.values_list)
         self.values_list.addItem(item)
     else:
         self.one_line_description = one_liner
     self.accept()  
Beispiel #10
0
 def _accept_clicked(self):
     #self._save_preferences()
     one_liner = unicode(self.one_liner_str.text())
     if one_liner == '':
         self.values_list.clear()
         item = QListWidgetItem(get_icon('images/books.png'),
                                _('you need to enter a short description'),
                                self.values_list)
         self.values_list.addItem(item)
     else:
         self.one_line_description = one_liner
     self.accept()
Beispiel #11
0
 def _display_formats(self):
     self.values_list.clear()
     formats = self.dm.get_download_info(self.casanova_id)
     if isinstance(formats, list):
         for format in formats:
             item = QListWidgetItem(get_icon('images/books.png'),
                                    format['type'], self.values_list)
             item.setData(1, (format, ))
             self.values_list.addItem(item)
     else:
         return error_dialog(self.gui,
                             'Casanova message',
                             unicode(formats),
                             show=True)
Beispiel #12
0
 def _display_choices(self, choices):
     self.values_list.clear()
     for id, name in choices.items():
         item = QListWidgetItem(get_icon('images/books.png'), name, self.values_list)
         item.setData(1, (id,))
         self.values_list.addItem(item)
Beispiel #13
0
 def _display_choices(self):
     self.values_list.clear()
     for author, author_sort in self.choices.items():
         item = QListWidgetItem(get_icon('images/books.png'), author, self.values_list)
         item.setData(1, (author_sort,))
         self.values_list.addItem(item)