Check-in [489da08a74]
Overview
Comment: | Temporary fix for Gtk undefined color warnings, workaround for changed GtkMenu.popup() signature in Gtk3. Debug colors for mygtk.columns() creation. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | py3 |
Files: | files | file ages | folders |
SHA1: |
489da08a7489454478e51b736b356a22 |
User & Date: | mario on 2014-04-09 00:23:47 |
Other Links: | branch diff | manifest | tags |
Context
2014-04-10
| ||
04:31 | * Fixed gtk_list_store_get_value: assertion `column < list_store->n_columns' by removing {width:20} reference from treeview datamap. * row.setdefault() for absent search_col/set and deleted state * More __print__/dbg colorization * Disabled pson.filter_data in favour of str casting in mygtk.columns() * Removed streamactions.popup PY2/PY3 workaround with named args * More .iteritems() removal check-in: 1beab0563e user: mario tags: py3 | |
2014-04-09
| ||
00:23 | Temporary fix for Gtk undefined color warnings, workaround for changed GtkMenu.popup() signature in Gtk3. Debug colors for mygtk.columns() creation. check-in: 489da08a74 user: mario tags: py3 | |
2014-04-08
| ||
22:16 | Add unicode() vs str() to compat2and3 check-in: 0458e0e0d1 user: mario tags: py3 | |
Changes
Modified mygtk.py from [3b0c65b63e] to [f90aa065b1].
︙ | ︙ | |||
131 132 133 134 135 136 137 | col.pack_end(rend, expand=cell[3].get("expand",True)) # apply attributes for attr,val in list(cell[3].items()): col.add_attribute(rend, attr, val) # next datapos += 1 | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | col.pack_end(rend, expand=cell[3].get("expand",True)) # apply attributes for attr,val in list(cell[3].items()): col.add_attribute(rend, attr, val) # next datapos += 1 __print__(dbg.INFO, cell) # add column to treeview widget.append_column(col) # finalize widget widget.set_search_column(5) #?? widget.set_search_column(4) #?? widget.set_search_column(3) #?? widget.set_search_column(2) #?? |
︙ | ︙ | |||
154 155 156 157 158 159 160 | if (not rowmap): for desc in datamap: for var in xrange(2, len(desc)): vartypes.append(desc[var][1]) # content types rowmap.append(desc[var][0]) # dict{} column keys in entries[] list # create gtk array storage ls = gtk.ListStore(*vartypes) # could be a TreeStore, too | | | > > > | > | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | if (not rowmap): for desc in datamap: for var in xrange(2, len(desc)): vartypes.append(desc[var][1]) # content types rowmap.append(desc[var][0]) # dict{} column keys in entries[] list # create gtk array storage ls = gtk.ListStore(*vartypes) # could be a TreeStore, too __print__(dbg.UI, vartypes) __print__(dbg.DATA, rowmap) # prepare for missing values, and special variable types defaults = { str: "", unicode: "", bool: False, int: 0, gtk.gdk.Pixbuf: empty_pixbuf } if gtk.gdk.Pixbuf in vartypes: pix_entry = vartypes.index(gtk.gdk.Pixbuf) # sort data into gtk liststore array for row in entries: # defaults row["deleted"] = 0 row["search_col"] = "#ffffff" row["search_set"] = 0 # generate ordered list from dictionary, using rowmap association row = [ row.get( skey , defaults[vartypes[i]] ) for i,skey in enumerate(rowmap) ] # autotransform string -> gtk image object if (pix_entry and type(row[pix_entry]) == str): row[pix_entry] = ( gtk.gdk.pixbuf_new_from_file(row[pix_entry]) if os.path.exists(row[pix_entry]) else defaults[gtk.gdk.Pixbuf] ) |
︙ | ︙ |
Modified st2.py from [3e5e378842] to [a8efefcc40].
︙ | ︙ | |||
91 92 93 94 95 96 97 | Thread.stop = lambda self: None # add library path sys.path.insert(0, "/usr/share/streamtuner2") # pre-defined directory for modules sys.path.insert(0, ".") # pre-defined directory for modules # gtk modules | | | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | Thread.stop = lambda self: None # add library path sys.path.insert(0, "/usr/share/streamtuner2") # pre-defined directory for modules sys.path.insert(0, ".") # pre-defined directory for modules # gtk modules from mygtk import pygtk, gtk, gobject, ui_file, mygtk, ver as GTK_VER # custom modules from config import conf # initializes itself, so all conf.vars are available right away from config import __print__, dbg import ahttp import action # needs workaround... (action.main=main) from channels import * |
︙ | ︙ | |||
559 560 561 562 563 564 565 | # right click in streams/stations TreeView def station_context_menu(treeview, event): # right-click ? if event.button >= 3: path = treeview.get_path_at_pos(int(event.x), int(event.y))[0] treeview.grab_focus() treeview.set_cursor(path, None, False) | > | > > | | | 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 | # right click in streams/stations TreeView def station_context_menu(treeview, event): # right-click ? if event.button >= 3: path = treeview.get_path_at_pos(int(event.x), int(event.y))[0] treeview.grab_focus() treeview.set_cursor(path, None, False) if GTK_VER == 2: main.streamactions.popup(None, None, None, event.button, event.time) else: main.streamactions.popup(None, None, None, None, event.button, event.time) return None # we need to pass on to normal left-button signal handler else: return False # this works better as callback function than as class - because of False/Object result for event trigger # encapsulates references to gtk objects AND properties in main window class auxiliary_window(object): def __getattr__(self, name): if name in main.__dict__: return main.__dict__[name] elif name in StreamTunerTwo.__dict__: return StreamTunerTwo.__dict__[name] else: return main.get_widget(name) """ allows to use self. and main. almost interchangably """ |
︙ | ︙ |