[Uml-devel] [Bug 69113] Turn off header/footer and page numbers when printing

Oliver Kellogg okellogg at users.sourceforge.net
Wed Feb 21 21:32:08 UTC 2007


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=69113         
okellogg users sourceforge net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From okellogg users sourceforge net  2007-02-21 22:32 -------
SVN commit 636081 by okellogg:

Apply attachment 19728 from Antoine Dopffer
> I have an miscelleanous option "Turn on footer and page numbers when
> printing" in the general settings.
> By default, the footer is printed but you can turn it off. 

 
FEATURE:69113


 A             ChangeLog.2  
 M  +6 -1      umbrello/dialogs/settingsdlg.cpp  
 M  +1 -0      umbrello/dialogs/settingsdlg.h  
 M  +1 -0      umbrello/optionstate.h  
 M  +2 -0      umbrello/uml.cpp  
 M  +25 -10    umbrello/umlview.cpp  


--- trunk/KDE/kdesdk/umbrello/umbrello/dialogs/settingsdlg.cpp #636080:636081
 @ -148,6 +148,9  @
     m_GeneralWidgets.angularLinesCB -> setChecked( m_pOptionState->generalState.angularlines );
     miscLayout -> addWidget( m_GeneralWidgets.angularLinesCB, 1, 1 );
 
+    m_GeneralWidgets.footerPrintingCB = new QCheckBox( i18n("Turn on footer and page numbers when printing"), m_GeneralWidgets.miscGB );
+    m_GeneralWidgets.footerPrintingCB -> setChecked( m_pOptionState->generalState.footerPrinting );
+    miscLayout -> addWidget( m_GeneralWidgets.footerPrintingCB, 2, 0 );
     //setup autosave settings
 
     m_GeneralWidgets.autosaveGB = new Q3GroupBox( i18n("Autosave"), page );
 @ -354,7 +357,8  @
 
 void SettingsDlg::slotApply() {
     applyPage( currentPage() );
-    emit applyClicked();
+    //do no emit signal applyClicked in the slot slotApply -> infinite loop 
+    //emit applyClicked();
 }
 
 void SettingsDlg::slotOk() {
 @ -421,6 +425,7  @
         m_pOptionState->generalState.tabdiagrams = m_GeneralWidgets.tabdiagramsCB->isChecked();
         m_pOptionState->generalState.newcodegen = m_GeneralWidgets.newcodegenCB->isChecked();
         m_pOptionState->generalState.angularlines = m_GeneralWidgets.angularLinesCB->isChecked();
+        m_pOptionState->generalState.footerPrinting = m_GeneralWidgets.footerPrintingCB->isChecked();
         m_pOptionState->generalState.autosave = m_GeneralWidgets.autosaveCB -> isChecked();
         m_pOptionState->generalState.autosavetime = m_GeneralWidgets.timeISB -> value();
         // 2004-05-17 Achim Spangler: retrieve Suffix setting from dialog entry
--- trunk/KDE/kdesdk/umbrello/umbrello/dialogs/settingsdlg.h #636080:636081
 @ -102,6 +102,7  @
         QCheckBox * tabdiagramsCB;
         QCheckBox * newcodegenCB;
         QCheckBox * angularLinesCB;
+        QCheckBox * footerPrintingCB;
         QCheckBox * autosaveCB;
         QCheckBox * logoCB;
         QCheckBox * tipCB;
--- trunk/KDE/kdesdk/umbrello/umbrello/optionstate.h #636080:636081
 @ -34,6 +34,7  @
     bool tabdiagrams;
     bool newcodegen;
     bool angularlines;
+    bool footerPrinting;
     bool autosave;
     int time;        //old autosave time, kept for compatibility
     int autosavetime;
--- trunk/KDE/kdesdk/umbrello/umbrello/uml.cpp #636080:636081
 @ -605,6 +605,7  @
     cg.writeEntry( "tabdiagrams", optionState.generalState.tabdiagrams );
     cg.writeEntry( "newcodegen", optionState.generalState.newcodegen );
     cg.writeEntry( "angularlines", optionState.generalState.angularlines );
+    cg.writeEntry( "footerPrinting", optionState.generalState.footerPrinting );
     cg.writeEntry( "autosave", optionState.generalState.autosave );
     cg.writeEntry( "time", optionState.generalState.time );
     cg.writeEntry( "autosavetime", optionState.generalState.autosavetime );
 @ -1203,6 +1204,7  @
     optionState.generalState.newcodegen = false;
 #endif
     optionState.generalState.angularlines = m_config->readEntry("angularlines", false);
+    optionState.generalState.footerPrinting = m_config->readEntry("footerPrinting", true);
     optionState.generalState.autosave = m_config->readEntry("autosave", true);
     optionState.generalState.time = m_config->readEntry("time", 0); //old autosavetime value kept for compatibility
     optionState.generalState.autosavetime = m_config->readEntry("autosavetime", 0);
--- trunk/KDE/kdesdk/umbrello/umbrello/umlview.cpp #636080:636081
 @ -321,9 +321,22  @
     // + fontHeight   for foot-text
     // ==============
     // (2*fontHeight) + 7
-    int footHeight = (2*fontHeight) + 7;
-    int footTop    = rect.y() + diagramHeight  + 4+fontHeight;
-    int drawHeight = diagramHeight  + footHeight;
+    int footHeight;
+    int footTop;
+    int drawHeight;
+    bool isFooter = getOptionState().generalState.footerPrinting;
+    if (isFooter)
+    {
+        footHeight = (2*fontHeight) + 7;
+        footTop    = rect.y() + diagramHeight  + 4+fontHeight;
+        drawHeight = diagramHeight  + footHeight;
+    }
+    else
+    {
+        footHeight = 0;
+        footTop    = rect.y() + diagramHeight;
+        drawHeight = diagramHeight;
+    }
 
     // set window of painter to dimensions of diagram
     // set window to viewport relation so that x:y isn't changed
 @ -357,13 +370,15  @
     // get Diagram
     getDiagram(QRect(rect.x(), rect.y(), windowWidth, diagramHeight), pPainter);
 
-    //draw foot note
-    QString string = i18n("Diagram: %2 Page %1", 1, getName());
-    QColor textColor(50, 50, 50);
-    pPainter.setPen(textColor);
-    pPainter.drawLine(rect.x(), footTop    , windowWidth, footTop);
-    pPainter.drawText(rect.x(), footTop + 3, windowWidth, fontHeight, Qt::AlignLeft, string);
-
+    if (isFooter)
+    {
+        //draw foot note
+        QString string = i18n("Diagram: %2 Page %1", 1, getName());
+        QColor textColor(50, 50, 50);
+        pPainter.setPen(textColor);
+        pPainter.drawLine(rect.x(), footTop    , windowWidth, footTop);
+        pPainter.drawText(rect.x(), footTop + 3, windowWidth, fontHeight, Qt::AlignLeft, string);
+    }
     // now restore scaling
     pPainter.restore();




More information about the umbrello-devel mailing list