comparison finch/libgnt/wms/s.c @ 16518:403332494b92

Move the toggle-clipboard operation to the default wm.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 27 Apr 2007 13:15:09 +0000
parents 32c366eeeb99
children 3af867ef5a15
comparison
equal deleted inserted replaced
16517:62d083364deb 16518:403332494b92
166 else 166 else
167 purple_blist_show(); 167 purple_blist_show();
168 return TRUE; 168 return TRUE;
169 } 169 }
170 170
171 static gboolean
172 toggle_clipboard(GntBindable *bindable, GList *n)
173 {
174 static GntWidget *clip;
175 gchar *text;
176 int maxx, maxy;
177 if (clip) {
178 gnt_widget_destroy(clip);
179 clip = NULL;
180 return TRUE;
181 }
182 getmaxyx(stdscr, maxy, maxx);
183 text = gnt_get_clipboard_string();
184 clip = gnt_hwindow_new(FALSE);
185 GNT_WIDGET_SET_FLAGS(clip, GNT_WIDGET_TRANSIENT);
186 GNT_WIDGET_SET_FLAGS(clip, GNT_WIDGET_NO_BORDER);
187 gnt_box_set_pad(GNT_BOX(clip), 0);
188 gnt_box_add_widget(GNT_BOX(clip), gnt_label_new(" "));
189 gnt_box_add_widget(GNT_BOX(clip), gnt_label_new(text));
190 gnt_box_add_widget(GNT_BOX(clip), gnt_label_new(" "));
191 gnt_widget_set_position(clip, 0, 0);
192 gnt_widget_draw(clip);
193 g_free(text);
194 return TRUE;
195 }
196
197 static void 171 static void
198 s_class_init(SClass *klass) 172 s_class_init(SClass *klass)
199 { 173 {
200 GntWMClass *pclass = GNT_WM_CLASS(klass); 174 GntWMClass *pclass = GNT_WM_CLASS(klass);
201 175
206 pclass->window_update = s_window_update; 180 pclass->window_update = s_window_update;
207 pclass->mouse_clicked = s_mouse_clicked; 181 pclass->mouse_clicked = s_mouse_clicked;
208 182
209 gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "toggle-buddylist", 183 gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "toggle-buddylist",
210 toggle_buddylist, "\033" "b", NULL); 184 toggle_buddylist, "\033" "b", NULL);
211 gnt_bindable_class_register_action(GNT_BINDABLE_CLASS(klass), "toggle-clipboard",
212 toggle_clipboard, "\033" "C", NULL);
213 gnt_style_read_actions(G_OBJECT_CLASS_TYPE(klass), GNT_BINDABLE_CLASS(klass)); 185 gnt_style_read_actions(G_OBJECT_CLASS_TYPE(klass), GNT_BINDABLE_CLASS(klass));
214 GNTDEBUG; 186 GNTDEBUG;
215 } 187 }
216 188
217 void gntwm_init(GntWM **wm) 189 void gntwm_init(GntWM **wm)