--- a/blogic/app.py Wed Jan 03 17:00:24 2007 -0300
+++ b/blogic/app.py Wed Jan 03 17:18:48 2007 -0300
@@ -28,6 +28,7 @@
import gtkspell
from gettext import bindtextdomain, textdomain
from gettext import gettext as _
+from categories import CategoryDialog
from kiwi.environ import environ
@@ -116,6 +117,7 @@
# Categories of Blogs
self.categories_combo = self.gxml.get_widget('categories')
+ self.label_categories = self.gxml.get_widget('label_categories')
model = gtk.ListStore(str, str)
self.categories_combo.set_model(model)
self.categories_combo.set_text_column(0)
@@ -411,7 +413,7 @@
blog = self.blog_get_data(blog_name)
self.system = blog["system"]
- print "blog_id", blog["blog_id"]
+ print "get_blog::blog_id:", blog["blog_id"]
self.blog_engine = BlogEngine.Blog(blog["system"],
blog["url"],
@@ -424,6 +426,8 @@
return True
+ ### FIXME: It shouldn't use neither categoryName or categoryId.
+ ### both of them should be abstracted.
def on_blogs_changed(self, widget, user_data=None):
"""Update the categories associated to a specific blog"""
blog_id = self.blog_engine.get_blog_id()
@@ -461,6 +465,7 @@
# for id in self.blogs.keys():
# categories[id] = self.blog_engine.get_category_list(id)
# return categories
+ print "get_categories::blog_name:", blog_name
self.categories = self.blog_get_categories(blog_name)
model = self.categories_combo.get_model()
@@ -476,6 +481,31 @@
model.set_sort_column_id(0, gtk.SORT_ASCENDING)
self.categories_combo.set_active(0)
+ def on_button_categories_clicked(self, *args):
+ blog_id = self.blog_engine.get_blog_id()
+ print "on_button_categories_clicked::blog_id", blog_id
+ category_list = self.blog_engine.get_category_list(blog_id)
+ categories = []
+ for cat in category_list:
+ categories += [ (cat['categoryId'],
+ False, False,
+ cat['categoryName']) ]
+
+ dialog = CategoryDialog(data=categories)
+ dialog.set_default_size(300,250)
+ dialog.show_all()
+ result = dialog.run()
+
+ if result == gtk.RESPONSE_OK:
+ primary, secondary = dialog.get_categories_choosen()
+
+ text = '<b>%s</b>' % ('; ').join(primary.values())
+ text += ', %s' % ('; ').join(secondary.values())
+ self.label_categories.set_text(text)
+ self.label_categories.set_use_markup(True)
+
+ dialog.hide()
+
def on_post_activate(self, widget, user_data=None):
self.post(True)
--- a/dialogs/blogic.glade Wed Jan 03 17:00:24 2007 -0300
+++ b/dialogs/blogic.glade Wed Jan 03 17:18:48 2007 -0300
@@ -1073,56 +1073,19 @@
<property name="spacing">6</property>
<child>
- <widget class="GtkHBox" id="hbox134">
+ <widget class="GtkButton" id="button_categories">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkLabel" id="label186">
- <property name="width_request">79</property>
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Category:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">categories</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Category:</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NONE</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_categories_clicked" last_modification_time="Wed, 03 Jan 2007 18:55:42 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkComboBoxEntry" id="categories">
- <property name="visible">True</property>
- <property name="add_tearoffs">False</property>
- <property name="has_frame">True</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
+ <property name="fill">False</property>
</packing>
</child>
@@ -1131,7 +1094,7 @@
<property name="visible">True</property>
<property name="label" translatable="yes">...</property>
<property name="use_underline">False</property>
- <property name="use_markup">False</property>
+ <property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
@@ -1150,6 +1113,20 @@
<property name="fill">True</property>
</packing>
</child>
+
+ <child>
+ <widget class="GtkComboBoxEntry" id="categories">
+ <property name="visible">True</property>
+ <property name="add_tearoffs">False</property>
+ <property name="has_frame">True</property>
+ <property name="focus_on_click">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="padding">0</property>