Show
Ignore:
Timestamp:
06/10/06 19:50:31 (2 years ago)
Author:
jordi
Message:

The page range sensitivity is also implemented as well as the callback function for it and the collate sensitivity and the tests for both.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/gtk/PrintView.cxx

    r217 r218  
    3434} printerListColumns; 
    3535 
     36// Callbacks. 
     37static void print_view_number_of_copies_changed (GtkSpinButton *, gpointer); 
     38static void print_view_page_range_option_changed (GtkToggleButton *, gpointer); 
     39 
    3640PrintView::PrintView (GtkWindow *parent): 
    3741    IPrintView () 
     
    8286    IPrintView::setPresenter (pter); 
    8387 
     88    // Connect signals. 
     89    g_signal_connect (G_OBJECT (m_NumberOfCopies), "value_changed", 
     90                      G_CALLBACK (print_view_number_of_copies_changed), 
     91                      pter); 
     92    g_signal_connect (G_OBJECT (m_AllPagesRangeOption), "toggled", 
     93                      G_CALLBACK (print_view_page_range_option_changed), 
     94                      pter); 
     95    g_signal_connect (G_OBJECT (m_CustomPagesRangeOption), "toggled", 
     96                      G_CALLBACK (print_view_page_range_option_changed), 
     97                      pter); 
     98 
     99    // Run the dialog. 
    84100    if ( GTK_RESPONSE_ACCEPT == gtk_dialog_run (GTK_DIALOG (m_PrintDialog)) ) 
    85101    { 
     
    96112{ 
    97113    return gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (m_NumberOfCopies)); 
     114} 
     115 
     116gboolean 
     117PrintView::isSelectedAllPagesRangeOption () 
     118{ 
     119    return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (m_AllPagesRangeOption)); 
    98120} 
    99121 
     
    138160    gtk_table_set_col_spacings (GTK_TABLE (printRangeTable), 12); 
    139161    // Create the two radio buttons. 
    140     GtkWidget *allPagesRadio = 
     162    m_AllPagesRangeOption = 
    141163        gtk_radio_button_new_with_mnemonic (NULL, _("_All pages")); 
    142     GtkWidget *pageRangeRadio = 
     164    m_CustomPagesRangeOption = 
    143165        gtk_radio_button_new_with_mnemonic_from_widget ( 
    144                 GTK_RADIO_BUTTON (allPagesRadio), _("_Range:")); 
     166                GTK_RADIO_BUTTON (m_AllPagesRangeOption), _("_Range:")); 
    145167    m_PageRange = gtk_entry_new (); 
    146     gtk_table_attach_defaults (GTK_TABLE (printRangeTable), allPagesRadio, 
     168    gtk_table_attach_defaults (GTK_TABLE (printRangeTable), 
     169                               m_AllPagesRangeOption, 
    147170                               0, 2, 0, 1); 
    148     gtk_table_attach_defaults (GTK_TABLE (printRangeTable), pageRangeRadio, 
     171    gtk_table_attach_defaults (GTK_TABLE (printRangeTable), 
     172                               m_CustomPagesRangeOption, 
    149173                               0, 1, 1, 2); 
    150174    gtk_table_attach_defaults (GTK_TABLE (printRangeTable), m_PageRange, 
     
    200224    gtk_misc_set_alignment (GTK_MISC (numCopiesLabel), 1.0, 0.5); 
    201225    gtk_label_set_use_underline (GTK_LABEL (numCopiesLabel), TRUE); 
    202     GtkWidget *m_NumberOfCopies = gtk_spin_button_new_with_range (1, 999, 1); 
     226    m_NumberOfCopies = gtk_spin_button_new_with_range (1, 999, 1); 
    203227    gtk_label_set_mnemonic_widget (GTK_LABEL (numCopiesLabel), 
    204228                                   m_NumberOfCopies); 
     
    347371    return mainBox; 
    348372} 
     373 
     374//////////////////////////////////////////////////////////////// 
     375// Callbacks 
     376//////////////////////////////////////////////////////////////// 
     377 
     378void 
     379print_view_number_of_copies_changed (GtkSpinButton *spin, gpointer data) 
     380{ 
     381    g_assert (NULL != data && "The data parameter is NULL."); 
     382 
     383    PrintPter *pter = (PrintPter *)data; 
     384    pter->numberOfCopiesChanged (); 
     385} 
     386 
     387void 
     388print_view_page_range_option_changed (GtkToggleButton *button, gpointer data) 
     389{ 
     390    g_assert (NULL != data && "The data parameter is NULL."); 
     391 
     392    PrintPter *pter = (PrintPter *)data; 
     393    pter->pageRangeOptionChanged (); 
     394}