~dpm/qreator/snap

« back to all changes in this revision

Viewing changes to qreator/qrcodes/QRCodeSoftwareCenterAppGtk.py

  • Committer: Stefan Schwarzburg
  • Date: 2012-11-22 12:48:56 UTC
  • Revision ID: stefan.schwarzburg@googlemail.com-20121122124856-8xzr61375or3n01m
increased pep8 and pylint compatibility

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# with this program.  If not, see <http://www.gnu.org/licenses/>.
15
15
### END LICENSE
16
16
 
17
 
from GtkHelpers import clear_text_entry, show_clear_icon
 
17
from . GtkHelpers import clear_text_entry, show_clear_icon
18
18
from qreator_lib.i18n import _
19
19
from qreator_lib.helpers import get_data_file, get_cache_file
20
 
from gi.repository import Gtk, GdkPixbuf, GObject
 
20
from gi.repository import Gtk, GdkPixbuf, GObject  # pylint: disable=E0611
21
21
import sys
22
22
sys.path.insert(0, "/usr/share/software-center/")
23
 
import softwarecenter.db.database
 
23
import softwarecenter.db.database  # pylint: disable=F0401
24
24
import defer
25
25
import threading
26
26
 
40
40
 
41
41
        self.usc_apps_complete = Complete()
42
42
 
 
43
        # pylint: disable=E1101
43
44
        self.usc_apps_complete.set_hexpand(True)
44
 
        self.usc_apps_complete.connect("changed",
45
 
                                    self.on_usc_apps_complete_changed, None)
46
 
        self.usc_apps_complete.connect("icon-press",
47
 
                                    self.on_usc_apps_complete_icon_pressed)
 
45
        self.usc_apps_complete.connect(
 
46
            "changed", self.on_usc_apps_complete_changed, None)
 
47
        self.usc_apps_complete.connect(
 
48
            "icon-press", self.on_usc_apps_complete_icon_pressed)
48
49
        self.usc_apps_complete.set_icon_from_icon_name(
49
50
            Gtk.EntryIconPosition.PRIMARY, 'edit-find-symbolic')
50
51
        self.usc_apps_complete.set_icon_from_stock(
57
58
 
58
59
    def on_activated(self):
59
60
        pass
 
61
 
60
62
    # handle changes to the entry
 
63
    # pylint: disable=W0613
61
64
    def on_usc_apps_complete_icon_pressed(self, widget, icon, mouse_button):
62
65
        clear_text_entry(widget, icon)
63
66
 
83
86
    def get_softwarecenterapps(self):
84
87
        # actually gets the icons and names
85
88
        db = softwarecenter.db.database.StoreDatabase()
86
 
        db._aptcache.open()
 
89
        db._aptcache.open()  # pylint: disable=W0212
87
90
        db.open(use_axi=False, use_agent=False)
88
91
        apps = []
89
92
        for doc in db:
95
98
        return apps
96
99
 
97
100
 
98
 
 
99
101
class App(object):
100
102
    def __init__(self, name, package, icon):
101
103
        self.name = name
105
107
 
106
108
class Complete(Gtk.Entry):
107
109
    '''a class to autocomplete'''
108
 
 
 
110
    # pylint: disable=W0613
109
111
    def __init__(self, apps=None):
110
112
        Gtk.Entry.__init__(self)
111
113
        self.completion = Gtk.EntryCompletion()
126
128
            _('[Wait a few seconds to enable autocompletion...]'))
127
129
 
128
130
    def add(self, apps):
 
131
        # pylint: disable=W0201
129
132
        self.loadthread = threading.Thread(target=self.load_pixbuf_sprites,
130
133
                                           args=(apps,)).start()
131
134
 
150
153
        icontheme = IconThemeSprite(apps, 16)
151
154
        icontheme.create_sprite(apps)
152
155
 
 
156
 
153
157
class IconThemeSprite(object):
154
158
    """The sprite is divided into two parts,
155
159
    the actual icons in one png file (-> sprite) and
176
180
 
177
181
    def __getitem__(self, item):
178
182
        try:
179
 
            src_y = (self._spritemap[item] + 1) *  self.size
 
183
            src_y = (self._spritemap[item] + 1) * self.size
180
184
            src_x = 0
181
185
            return GdkPixbuf.Pixbuf.new_subpixbuf(
182
186
                self._sprite,
197
201
        icontheme = Gtk.IconTheme.get_default()
198
202
        icontheme.append_search_path("/usr/share/app-install/icons/")
199
203
        # create a large sprite
200
 
        sprite = GdkPixbuf.Pixbuf.new(GdkPixbuf.Colorspace.RGB,
201
 
                                      True, 8, self.size, self.size * len(apps))
 
204
        sprite = GdkPixbuf.Pixbuf.new(
 
205
            GdkPixbuf.Colorspace.RGB, True, 8, self.size, self.size * len(apps))
202
206
        for n, app in enumerate(apps):
203
207
            # load images to pixbufs
204
208
            try:
216
220
                           icon.get_height(),
217
221
                           sprite,
218
222
                           0,
219
 
                           (n+1) * self.size)
 
223
                           (n + 1) * self.size)
220
224
        # save the sprite
221
 
        sprite.savev(self.spritepath, "png", [], []) # undocumented gi @$#*%!
 
225
        sprite.savev(self.spritepath, "png", [], [])  # undocumented gi @$#*%!
222
226
        self._sprite = sprite
223
227
 
224
228
        # save the sprite map