Changeset 217
- Timestamp:
- 06/10/06 19:13:25 (2 years ago)
- Files:
-
- trunk/src/IPrintView.h (modified) (1 diff)
- trunk/src/PrintPter.cxx (modified) (1 diff)
- trunk/src/PrintPter.h (modified) (1 diff)
- trunk/src/gtk/PrintView.cxx (modified) (5 diffs)
- trunk/src/gtk/PrintView.h (modified) (1 diff)
- trunk/tests/DumbPrintView.cxx (modified) (3 diffs)
- trunk/tests/DumbPrintView.h (modified) (2 diffs)
- trunk/tests/PrintPterTest.cxx (modified) (1 diff)
- trunk/tests/PrintPterTest.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/IPrintView.h
r216 r217 62 62 63 63 /// 64 /// @brief Gets the number of copies to do. 65 /// 66 /// @return The number of copies of the document to print. The 67 /// range is between 1 and 999. 68 /// 69 virtual unsigned int getNumberOfCopies (void) = 0; 70 71 /// 64 72 /// @brief Changes the sensitivity of the "Collate" option. 65 73 /// trunk/src/PrintPter.cxx
r216 r217 58 58 59 59 void 60 PrintPter::numberOfCopiesChanged (void) 61 { 62 IPrintView &view = getView (); 63 if ( 1 == view.getNumberOfCopies () ) 64 { 65 view.sensitiveCollate (FALSE); 66 } 67 else 68 { 69 view.sensitiveCollate (TRUE); 70 } 71 } 72 73 void 60 74 PrintPter::printActivated (void) 61 75 { trunk/src/PrintPter.h
r213 r217 35 35 36 36 void cancelActivated (void); 37 void numberOfCopiesChanged (void); 37 38 void printActivated (void); 38 39 trunk/src/gtk/PrintView.cxx
r214 r217 90 90 pter->cancelActivated (); 91 91 } 92 } 93 94 unsigned int 95 PrintView::getNumberOfCopies () 96 { 97 return gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (m_NumberOfCopies)); 98 } 99 100 void 101 PrintView::sensitiveCollate (gboolean sensitive) 102 { 103 gtk_widget_set_sensitive (m_Collate, sensitive); 104 } 105 106 void 107 PrintView::sensitivePageRange (gboolean sensitive) 108 { 109 gtk_widget_set_sensitive (m_PageRange, sensitive); 92 110 } 93 111 … … 125 143 gtk_radio_button_new_with_mnemonic_from_widget ( 126 144 GTK_RADIO_BUTTON (allPagesRadio), _("_Range:")); 127 GtkWidget *pageRangeEntry= gtk_entry_new ();145 m_PageRange = gtk_entry_new (); 128 146 gtk_table_attach_defaults (GTK_TABLE (printRangeTable), allPagesRadio, 129 147 0, 2, 0, 1); 130 148 gtk_table_attach_defaults (GTK_TABLE (printRangeTable), pageRangeRadio, 131 149 0, 1, 1, 2); 132 gtk_table_attach_defaults (GTK_TABLE (printRangeTable), pageRangeEntry,150 gtk_table_attach_defaults (GTK_TABLE (printRangeTable), m_PageRange, 133 151 1, 2, 1, 2); 134 152 … … 161 179 gtk_box_pack_start_defaults (GTK_BOX (pageSetBox), evenPageSetRadio); 162 180 163 164 181 // Copies frame 165 182 GtkWidget *copiesLabel = gtk_label_new (_("<b>Copies</b>")); … … 183 200 gtk_misc_set_alignment (GTK_MISC (numCopiesLabel), 1.0, 0.5); 184 201 gtk_label_set_use_underline (GTK_LABEL (numCopiesLabel), TRUE); 185 GtkWidget *numCopiesSpin = gtk_spin_button_new_with_range (1, 999, 1); 186 gtk_label_set_mnemonic_widget (GTK_LABEL (numCopiesLabel), numCopiesSpin); 202 GtkWidget *m_NumberOfCopies = gtk_spin_button_new_with_range (1, 999, 1); 203 gtk_label_set_mnemonic_widget (GTK_LABEL (numCopiesLabel), 204 m_NumberOfCopies); 187 205 // Create the collate check box. 188 GtkWidget *collateCheck = 189 gtk_check_button_new_with_mnemonic (_("C_ollate")); 206 m_Collate = gtk_check_button_new_with_mnemonic (_("C_ollate")); 190 207 gtk_table_attach (GTK_TABLE (copiesTable), numCopiesLabel, 191 208 0, 1, 0, 1, … … 193 210 (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 194 211 0, 0); 195 gtk_table_attach_defaults (GTK_TABLE (copiesTable), numCopiesSpin,212 gtk_table_attach_defaults (GTK_TABLE (copiesTable), m_NumberOfCopies, 196 213 1, 2, 0, 1); 197 gtk_table_attach_defaults (GTK_TABLE (copiesTable), collateCheck,214 gtk_table_attach_defaults (GTK_TABLE (copiesTable), m_Collate, 198 215 1, 2, 1, 2); 199 216 trunk/src/gtk/PrintView.h
r214 r217 29 29 virtual void setPresenter (PrintPter *pter); 30 30 31 virtual unsigned int getNumberOfCopies (void); 32 virtual void sensitiveCollate (gboolean sensitive); 33 virtual void sensitivePageRange (gboolean sensitive); 34 31 35 protected: 36 GtkWidget *m_Collate; 37 GtkWidget *m_NumberOfCopies; 38 GtkWidget *m_PageRange; 32 39 GtkWidget *m_PrintDialog; 33 40 GtkTreeStore *m_PrinterList; trunk/tests/DumbPrintView.cxx
r216 r217 24 24 IPrintView () 25 25 { 26 m_NumberOfCopies = 1; 26 27 m_SensitiveCollate = TRUE; 27 28 m_SensitivePageRange = TRUE; … … 30 31 DumbPrintView::~DumbPrintView () 31 32 { 33 } 34 35 unsigned int 36 DumbPrintView::getNumberOfCopies () 37 { 38 return m_NumberOfCopies; 32 39 } 33 40 … … 59 66 return m_SensitivePageRange; 60 67 } 68 69 void 70 DumbPrintView::setNumberOfCopies (unsigned int copies) 71 { 72 m_NumberOfCopies = copies; 73 } trunk/tests/DumbPrintView.h
r216 r217 27 27 virtual ~DumbPrintView (void); 28 28 29 virtual unsigned int getNumberOfCopies (void); 29 30 virtual void sensitiveCollate (gboolean sensitive); 30 31 virtual void sensitivePageRange (gboolean sensitive); … … 33 34 gboolean isSensitiveCollate (void); 34 35 gboolean isSensitivePageRange (void); 36 void setNumberOfCopies (unsigned int copies); 35 37 36 38 protected: 39 gint m_NumberOfCopies; 37 40 gboolean m_SensitiveCollate; 38 41 gboolean m_SensitivePageRange; trunk/tests/PrintPterTest.cxx
r216 r217 67 67 CPPUNIT_ASSERT ( !m_View->isSensitiveCollate ()); 68 68 } 69 70 /// 71 /// @brief Check "Collate"'s sensitivity. 72 /// 73 /// The collate option is always sensitive unless the number 74 /// of copies is 1. 75 /// 76 void 77 PrintPterTest::collateSensitivity () 78 { 79 m_View->setNumberOfCopies (1); 80 m_PrintPter->numberOfCopiesChanged (); 81 CPPUNIT_ASSERT ( !m_View->isSensitiveCollate ()); 82 83 m_View->setNumberOfCopies (10); 84 m_PrintPter->numberOfCopiesChanged (); 85 CPPUNIT_ASSERT ( m_View->isSensitiveCollate ()); 86 87 m_View->setNumberOfCopies (234); 88 m_PrintPter->numberOfCopiesChanged (); 89 CPPUNIT_ASSERT ( m_View->isSensitiveCollate ()); 90 91 m_View->setNumberOfCopies (1); 92 m_PrintPter->numberOfCopiesChanged (); 93 CPPUNIT_ASSERT ( !m_View->isSensitiveCollate ()); 94 95 m_View->setNumberOfCopies (32); 96 m_PrintPter->numberOfCopiesChanged (); 97 CPPUNIT_ASSERT ( m_View->isSensitiveCollate ()); 98 } trunk/tests/PrintPterTest.h
r216 r217 27 27 CPPUNIT_TEST_SUITE (PrintPterTest); 28 28 CPPUNIT_TEST (initialSensitivity); 29 CPPUNIT_TEST (collateSensitivity); 29 30 CPPUNIT_TEST_SUITE_END (); 30 31 … … 34 35 35 36 void initialSensitivity (void); 37 void collateSensitivity (void); 36 38 37 39 protected:
