Changeset 3386 for trunk/jons-gtk2-gui

Show
Ignore:
Timestamp:
03/20/03 01:47:13 (6 years ago)
Author:
bostjanlah
Message:

Use buttonbox for buttons
Add some border to the window
Use gtk_window_present instead of gdk_window_raise
Put textview into a frame

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/jons-gtk2-gui/src/away_window.cpp

    r3324 r3386  
    2323#include "licq_icqd.h" 
    2424#include "licq_gtk.h" 
     25#include "utilities.h" 
    2526 
    2627GSList *uaw_list; 
     
    4344}; 
    4445 
    45 void set_away_msg(GtkWidget *widget, struct away_dialog *away_d) 
    46 { 
    47     GtkTextIter s, e; 
    48     GtkTextBuffer *tb = gtk_text_view_get_buffer(GTK_TEXT_VIEW(away_d->text)); 
    49     gtk_text_buffer_get_start_iter(tb, &s); 
    50     gtk_text_buffer_get_end_iter(tb, &e); 
    51   gchar *txt = gtk_text_buffer_get_text(tb, &s, &e, FALSE); 
     46void 
     47set_away_msg(GtkWidget *widget, struct away_dialog *away_d) 
     48{ 
    5249    ICQOwner *owner = gUserManager.FetchOwner(LOCK_W); 
    53     owner->SetAutoResponse(txt); 
     50    owner->SetAutoResponse(textview_get_chars(away_d->text).c_str()); 
    5451    gUserManager.DropOwner(); 
    55   g_free(txt); 
    5652 
    5753    window_close(NULL, away_d->window); 
    5854} 
    5955 
    60 void away_msg_window(gushort status) 
     56void 
     57away_msg_window(gushort status) 
    6158{ 
    6259     
     
    6663    away_d = g_new0(struct away_dialog, 1); 
    6764  else { 
    68     gtk_widget_show(away_d->window); 
     65    gtk_window_present(GTK_WINDOW(away_d->window)); 
    6966    return; 
    7067  } 
     
    9188 
    9289    /* The boxes */ 
    93     GtkWidget *h_box = gtk_hbox_new(TRUE, 5); 
    9490    GtkWidget *v_box = gtk_vbox_new(FALSE, 5); 
    9591 
    9692    /* Pack the text box into the v_box */ 
    97     gtk_box_pack_start(GTK_BOX(v_box), away_d->text, TRUE, TRUE, 0); 
     93  GtkWidget *frame = gtk_frame_new(NULL); 
     94  gtk_container_add(GTK_CONTAINER(frame), away_d->text); 
     95    gtk_box_pack_start(GTK_BOX(v_box), frame, TRUE, TRUE, 0); 
    9896 
    9997    /* Make the buttons now */ 
     
    102100 
    103101    /* Pack the buttons */ 
    104     gtk_box_pack_start(GTK_BOX(h_box), ok, TRUE, TRUE, 5); 
    105     gtk_box_pack_start(GTK_BOX(h_box), cancel, TRUE, TRUE, 5); 
     102    GtkWidget *h_box = hbutton_box_new(); 
     103    gtk_container_add(GTK_CONTAINER(h_box), ok); 
     104    gtk_container_add(GTK_CONTAINER(h_box), cancel); 
    106105    gtk_box_pack_start(GTK_BOX(v_box), h_box, FALSE, FALSE, 0); 
    107106 
     
    116115    /* Get the window ready to be shown, show it, and set is_shown */ 
    117116    gtk_container_add(GTK_CONTAINER(away_d->window), v_box); 
     117    gtk_container_set_border_width(GTK_CONTAINER(away_d->window), 10); 
     118    gtk_window_set_focus(GTK_WINDOW(away_d->window), away_d->text); 
    118119    gtk_widget_show_all(away_d->window); 
    119     gtk_window_set_focus(GTK_WINDOW(away_d->window), away_d->text); 
    120     gtk_window_set_modal(GTK_WINDOW(away_d->window), TRUE); 
    121120} 
    122121 
     
    136135} 
    137136 
    138 struct user_away_window *uaw_find(unsigned long uin) 
     137struct user_away_window * 
     138uaw_find(unsigned long uin) 
    139139{ 
    140140    struct user_away_window *uaw; 
     
    152152} 
    153153 
    154 struct user_away_window *uaw_new(ICQUser *u) 
     154struct user_away_window * 
     155uaw_new(ICQUser *u) 
    155156{ 
    156157    /* Does it exist already? */ 
     
    172173} 
    173174 
    174 void list_read_message(GtkWidget *widget, ICQUser *user) 
     175void 
     176list_read_message(GtkWidget *widget, ICQUser *user) 
    175177{ 
    176178    struct user_away_window *uaw = uaw_find(user->Uin()); 
    177179     
    178180    // we're in the process of retrieving the message (or it's displayed already) 
    179   if (uaw != NULL) 
     181  if (uaw != NULL) { 
     182    gtk_window_present(GTK_WINDOW(uaw->window)); 
    180183        return; 
     184  } 
    181185 
    182186    uaw = uaw_new(user); 
     
    196200 
    197201    /* Make the boxes */ 
    198     GtkWidget *h_box = gtk_hbox_new(FALSE, 5); 
    199202    GtkWidget *v_box = gtk_vbox_new(FALSE, 5); 
    200203 
     
    202205    GtkWidget *scroll = gtk_scrolled_window_new(0, 0); 
    203206    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), 
    204                        GTK_POLICY_NEVER, 
    205                        GTK_POLICY_AUTOMATIC); 
     207      GTK_POLICY_NEVER, 
     208            GTK_POLICY_AUTOMATIC); 
    206209 
    207210    /* The text box */ 
     
    212215   
    213216    /* Add the text box to the scrolling window */ 
     217  GtkWidget *frame = gtk_frame_new(NULL); 
    214218    gtk_container_add(GTK_CONTAINER(scroll), uaw->text_box); 
     219    gtk_container_add(GTK_CONTAINER(frame), scroll); 
    215220 
    216221    /* Pack the scrolled window into the v_box */ 
     
    220225    uaw->show_again = gtk_check_button_new_with_label("Show Again"); 
    221226    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(uaw->show_again), 
    222                      user->ShowAwayMsg()); 
     227      user->ShowAwayMsg()); 
    223228 
    224229    /* The close button */ 
     
    228233 
    229234    /* Pack everything */ 
    230     gtk_box_pack_start(GTK_BOX(h_box), uaw->show_again, TRUE, TRUE, 10); 
    231     gtk_box_pack_start(GTK_BOX(h_box), close, TRUE, TRUE, 10); 
     235    GtkWidget *h_box = hbutton_box_new(); 
     236    gtk_container_add(GTK_CONTAINER(h_box), uaw->show_again); 
     237    gtk_container_add(GTK_CONTAINER(h_box), close); 
    232238    gtk_box_pack_start(GTK_BOX(v_box), h_box, FALSE, FALSE, 5); 
    233239 
     
    235241    uaw->progress = gtk_statusbar_new(); 
    236242    strcpy(uaw->buffer, "Checking Response ... "); 
    237     guint id = gtk_statusbar_get_context_id(GTK_STATUSBAR(uaw->progress), 
    238                         "prog"); 
    239     gtk_statusbar_pop(GTK_STATUSBAR(uaw->progress), id); 
    240     gtk_statusbar_push(GTK_STATUSBAR(uaw->progress), id, uaw->buffer); 
     243    status_change(uaw->progress, "sta", uaw->buffer); 
    241244 
    242245    /* Pack the progress bar */ 
    243246    gtk_box_pack_start(GTK_BOX(v_box), uaw->progress, FALSE, FALSE, 5); 
    244247 
     248    gtk_container_set_border_width(GTK_CONTAINER(uaw->window), 10); 
    245249    gtk_container_add(GTK_CONTAINER(uaw->window), v_box); 
    246250    gtk_widget_show_all(uaw->window); 
     
    257261} 
    258262 
    259 void finish_away(ICQEvent *event) 
     263void 
     264finish_away(ICQEvent *event) 
    260265{ 
    261266    struct user_away_window *uaw = uaw_find(event->Uin());