~njpatel/gwibber/libgwibber-o-client-njpatel

« back to all changes in this revision

Viewing changes to client/gwibber-client.vala

  • Committer: Ken VanDine
  • Date: 2011-06-09 21:29:34 UTC
  • Revision ID: ken.vandine@canonical.com-20110609212934-ol0dvzmjza8f751w
Added menus for sorting and stream selection, temporary until we get widgets

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 
19
19
public class Client : Gtk.Window
20
20
{
21
 
  public Gwibber.Service service;
 
21
  private Gwibber.Service service;
22
22
  private Gtk.Spinner spinner;
23
23
  private Gtk.Alignment spinner_align;
24
24
  public Client ()
51
51
    this.set_default_size(400,800);
52
52
 
53
53
    
 
54
    var view = new GwibberGtk.StreamView ();
 
55
    var model = new Dee.SharedModel ("com.Gwibber.Streams.Model");
 
56
    view.model = model;
 
57
 
54
58
    /**** Create menus ****/
55
59
    var menubar = new Gtk.MenuBar();
56
60
 
81
85
    menubar.append(gwibber_launcher);
82
86
    // End Main Gwibber menu
83
87
 
 
88
    // Streams menu
 
89
    var streams_menu = new Gtk.Menu ();
 
90
 
 
91
    GLib.SList<Gtk.RadioMenuItem> *streams_group = null;
 
92
 
 
93
    var stream_messages_menu = new Gtk.RadioMenuItem.with_mnemonic(streams_group, "_Messages");
 
94
    streams_group = stream_messages_menu.get_group();
 
95
    stream_messages_menu.activate.connect(() => {
 
96
      view.stream = "messages";
 
97
      });
 
98
    if (view.stream == "messages")
 
99
      stream_messages_menu.set_active (true);
 
100
    streams_menu.append(stream_messages_menu);
 
101
 
 
102
    var stream_replies_menu = new Gtk.RadioMenuItem.with_mnemonic(streams_group, "_Replies");
 
103
    streams_group = stream_replies_menu.get_group();
 
104
    stream_replies_menu.activate.connect(() => {
 
105
      view.stream = "replies";
 
106
      });
 
107
    if (view.stream == "replies")
 
108
      stream_replies_menu.set_active (true);
 
109
    streams_menu.append(stream_replies_menu);
 
110
 
 
111
    var stream_private_menu = new Gtk.RadioMenuItem.with_mnemonic(streams_group, "_Private");
 
112
    streams_group = stream_private_menu.get_group();
 
113
    stream_private_menu.activate.connect(() => {
 
114
      view.stream = "private";
 
115
      });
 
116
    if (view.stream == "private")
 
117
      stream_private_menu.set_active (true);
 
118
    streams_menu.append(stream_private_menu);
 
119
 
 
120
    var stream_public_menu = new Gtk.RadioMenuItem.with_mnemonic(streams_group, "P_ubic");
 
121
    streams_group = stream_public_menu.get_group();
 
122
    stream_public_menu.activate.connect(() => {
 
123
      view.stream = "public";
 
124
      });
 
125
    if (view.stream == "public")
 
126
      stream_public_menu.set_active (true);
 
127
    streams_menu.append(stream_public_menu);
 
128
 
 
129
    var stream_links_menu = new Gtk.RadioMenuItem.with_mnemonic(streams_group, "_Links");
 
130
    streams_group = stream_links_menu.get_group();
 
131
    stream_links_menu.activate.connect(() => {
 
132
      view.stream = "links";
 
133
    if (view.stream == "links")
 
134
      stream_links_menu.set_active (true);
 
135
      });
 
136
    streams_menu.append(stream_links_menu);
 
137
 
 
138
    var stream_images_menu = new Gtk.RadioMenuItem.with_mnemonic(streams_group, "_Images");
 
139
    streams_group = stream_images_menu.get_group();
 
140
    stream_images_menu.activate.connect(() => {
 
141
      view.stream = "images";
 
142
      });
 
143
    if (view.stream == "images")
 
144
      stream_images_menu.set_active (true);
 
145
    streams_menu.append(stream_images_menu);
 
146
 
 
147
    var stream_videos_menu = new Gtk.RadioMenuItem.with_mnemonic(streams_group, "_Videos");
 
148
    streams_group = stream_videos_menu.get_group();
 
149
    stream_videos_menu.activate.connect(() => {
 
150
      view.stream = "videos";
 
151
      });
 
152
    if (view.stream == "videos")
 
153
      stream_videos_menu.set_active (true);
 
154
    streams_menu.append(stream_videos_menu);
 
155
 
 
156
    var streams_sort_menu_separator = new Gtk.SeparatorMenuItem ();
 
157
    streams_menu.append (streams_sort_menu_separator);
 
158
 
 
159
    GLib.SList<Gtk.RadioMenuItem> *streams_sort_group = null;
 
160
 
 
161
    var streams_sort_asc_menu = new Gtk.RadioMenuItem.with_mnemonic(streams_sort_group, "_Ascending");
 
162
    streams_sort_group = streams_sort_asc_menu.get_group();
 
163
    streams_sort_asc_menu.activate.connect(() => {
 
164
      view.sort_order = "asc";
 
165
      });
 
166
    if (view.sort_order == "asc")
 
167
      streams_sort_asc_menu.set_active(true);
 
168
    streams_menu.append (streams_sort_asc_menu);
 
169
 
 
170
    var streams_sort_desc_menu = new Gtk.RadioMenuItem.with_mnemonic(streams_sort_group, "_Descending");
 
171
    streams_sort_desc_menu.activate.connect(() => {
 
172
      view.sort_order = "desc";
 
173
      });
 
174
    if (view.sort_order == "desc")
 
175
      streams_sort_desc_menu.set_active(true);
 
176
    streams_menu.append (streams_sort_desc_menu);
 
177
 
 
178
    var streams_launcher = new Gtk.MenuItem.with_mnemonic("_Streams");
 
179
    streams_launcher.set_submenu(streams_menu);
 
180
    menubar.append(streams_launcher);
 
181
 
 
182
    // End Streams menu
 
183
 
 
184
 
84
185
    // Edit menu
85
186
    var edit_menu = new Gtk.Menu();
86
187
    var accounts_menu_item = new Gtk.MenuItem.with_mnemonic("_Accounts");
122
223
    /**** End menu setup ****/
123
224
    
124
225
 
125
 
    var view = new GwibberGtk.StreamView ();
126
 
    var model = new Dee.SharedModel ("com.Gwibber.Streams.Model");
127
 
    view.model = model;
128
 
    //view.set_size_request (350, 650);
129
 
 
130
226
 
131
227
    var main_box = new Gtk.VBox(false, 0);
132
228
    main_box.pack_start(menubar, false, true, 0);
134
230
    spinner_align = new Gtk.Alignment(0.5f, 0.5f, 0, 0);
135
231
    spinner_align.add(spinner);
136
232
    spinner.set_size_request (40, 40);
 
233
    
 
234
    //main_box.add(stream_selector);
137
235
    main_box.add(spinner_align);
138
236
 
139
237
    var top_box = new Gtk.VBox(false, 0);