~gary-lasker/software-center/installedview-search-fixes

« back to all changes in this revision

Viewing changes to softwarecenter/ui/gtk3/session/viewmanager.py

mergedĀ fromĀ lp:~alexeftimie/software-center/backend-refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
from softwarecenter.ui.gtk3.widgets.searchentry import SearchEntry
24
24
 
25
25
_viewmanager = None # the gobal Viewmanager instance
26
 
 
27
 
 
28
26
def get_viewmanager():
29
27
    return _viewmanager
30
28
 
31
 
 
32
29
class ViewManager(object):
33
30
 
34
 
    def __init__(self, notebook_view, options):
 
31
    def __init__(self, notebook_view, options=None):
35
32
        self.notebook_view = notebook_view
36
33
        self.search_entry = SearchEntry()
37
34
        self.search_entry.connect(
53
50
        global _viewmanager
54
51
        if _viewmanager is not None:
55
52
            msg = "Only one instance of ViewManager is allowed!"
56
 
            raise SystemExit, msg
 
53
            raise SystemExit(msg)
57
54
        else:
58
55
            _viewmanager = self
59
56
 
86
83
        return self.get_view_widget(current_view)
87
84
 
88
85
    def get_view_id_from_page_id(self, page_id):
89
 
        for (k, v) in self.all_views.iteritems():
 
86
        for (k, v) in self.all_views.items():
90
87
            if page_id == v:
91
88
                return k
92
89
 
93
90
    def set_active_view(self, view_id):
 
91
        if not self.all_views: 
 
92
            return
94
93
        page_id = self.all_views[view_id]
95
94
        view_widget = self.get_view_widget(view_id)
96
95
 
97
96
        view_page = view_widget.get_current_page()
98
97
        view_state = view_widget.state
99
98
 
100
 
        #~ if (self.search_entry.get_text() !=
101
 
            #~ view_widget.state.search_terms):
102
 
            #~ self.search_entry.set_text_with_no_signal(
103
 
                                        #~ view_widget.state.search_terms)
 
99
        if (self.search_entry.get_text() !=
 
100
            view_widget.state.search_term):
 
101
            self.search_entry.set_text_with_no_signal(
 
102
                                        view_widget.state.search_terms)
104
103
    
105
104
        callback = view_widget.get_callback_for_page(view_page,
106
105
                                                     view_state)
152
151
 
153
152
        if self.get_current_view_widget() != pane:
154
153
            view_id = None
155
 
            for view_id, widget in self.view_to_pane.iteritems():
 
154
            for view_id, widget in self.view_to_pane.items():
156
155
                if widget == pane: break
157
156
    
158
157
            self.set_active_view(view_id)