[Libreoffice-commits] core.git: icon-themes/galaxy sc/source sc/uiconfig

Thomas Viehmann tv at beamnet.de
Thu Aug 14 17:50:49 PDT 2014


 icon-themes/galaxy/sc/res/paste_transpose.png      |binary
 icon-themes/galaxy/sc/res/paste_values_formats.png |binary
 icon-themes/galaxy/sc/res/paste_values_only.png    |binary
 sc/source/ui/inc/inscodlg.hxx                      |   19 +++-
 sc/source/ui/miscdlgs/inscodlg.cxx                 |   76 +++++++++++++++++
 sc/uiconfig/scalc/ui/pastespecial.ui               |   89 ++++++++++++++++++---
 6 files changed, 169 insertions(+), 15 deletions(-)

New commits:
commit 6af3bc396eedde71e40c3e8d714a728c8fa881aa
Author: Thomas Viehmann <tv at beamnet.de>
Date:   Fri Aug 15 00:07:58 2014 +0200

    fdo#79116 make paste special easier to use
    
    This patch adds three short cut buttons to the calc paste special
    dialog: paste values only (numbers, strings, dates), paste values and
    formats, and paste transposed.
    
    Change-Id: Ie70fbaa28976b2311b1d9cf53b094a5083fb42d4
    Reviewed-on: https://gerrit.libreoffice.org/10928
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    Tested-by: Michael Meeks <michael.meeks at collabora.com>

diff --git a/icon-themes/galaxy/sc/res/paste_transpose.png b/icon-themes/galaxy/sc/res/paste_transpose.png
new file mode 100644
index 0000000..9f1d315
Binary files /dev/null and b/icon-themes/galaxy/sc/res/paste_transpose.png differ
diff --git a/icon-themes/galaxy/sc/res/paste_values_formats.png b/icon-themes/galaxy/sc/res/paste_values_formats.png
new file mode 100644
index 0000000..82f0b1f
Binary files /dev/null and b/icon-themes/galaxy/sc/res/paste_values_formats.png differ
diff --git a/icon-themes/galaxy/sc/res/paste_values_only.png b/icon-themes/galaxy/sc/res/paste_values_only.png
new file mode 100644
index 0000000..4ae118b
Binary files /dev/null and b/icon-themes/galaxy/sc/res/paste_values_only.png differ
diff --git a/sc/source/ui/inc/inscodlg.hxx b/sc/source/ui/inc/inscodlg.hxx
index 3fd4008..1130daa 100644
--- a/sc/source/ui/inc/inscodlg.hxx
+++ b/sc/source/ui/inc/inscodlg.hxx
@@ -37,9 +37,9 @@ public:
 
     sal_uInt16      GetInsContentsCmdBits() const;
     sal_uInt16      GetFormulaCmdBits() const;
-    bool            IsSkipEmptyCells() const {return mpBtnSkipEmptyCells->IsChecked();}
-    bool            IsTranspose() const {return mpBtnTranspose->IsChecked();}
-    bool            IsLink() const {return mpBtnLink->IsChecked();}
+    bool            IsSkipEmptyCells() const;
+    bool            IsTranspose() const;
+    bool            IsLink() const;
     InsCellCmd      GetMoveMode();
 
     void    SetOtherDoc( bool bSet );
@@ -71,11 +71,23 @@ private:
     RadioButton*     mpRbMoveDown;
     RadioButton*     mpRbMoveRight;
 
+    PushButton*      mpBtnShortCutPasteValuesOnly;
+    PushButton*      mpBtnShortCutPasteValuesFormats;
+    PushButton*      mpBtnShortCutPasteTranspose;
+
     bool              bOtherDoc;
     bool              bFillMode;
     bool              bChangeTrack;
     bool              bMoveDownDisabled;
     bool              bMoveRightDisabled;
+    bool              bUsedShortCut;
+
+    sal_uInt16        nShortCutInsContentsCmdBits;
+    sal_uInt16        nShortCutFormulaCmdBits;
+    bool              bShortCutSkipEmptyCells;
+    bool              bShortCutTranspose;
+    bool              bShortCutIsLink;
+    InsCellCmd        nShortCutMoveMode;
 
     static bool         bPreviousAllCheck;
     static sal_uInt16   nPreviousChecks;
@@ -89,6 +101,7 @@ private:
     // Handler
     DECL_LINK( InsAllHdl, void* );
     DECL_LINK( LinkBtnHdl, void* );
+    DECL_LINK( ShortCutHdl, PushButton* );
 };
 
 #endif // INCLUDED_SC_SOURCE_UI_INC_INSCODLG_HXX
diff --git a/sc/source/ui/miscdlgs/inscodlg.cxx b/sc/source/ui/miscdlgs/inscodlg.cxx
index 18426b0..f35252e 100644
--- a/sc/source/ui/miscdlgs/inscodlg.cxx
+++ b/sc/source/ui/miscdlgs/inscodlg.cxx
@@ -38,7 +38,8 @@ ScInsertContentsDlg::ScInsertContentsDlg( Window*       pParent,
     bFillMode       ( false ),
     bChangeTrack    ( false ),
     bMoveDownDisabled( false ),
-    bMoveRightDisabled( false )
+    bMoveRightDisabled( false ),
+    bUsedShortCut   ( false )
 {
     get( mpBtnInsAll, "paste_all" );
     get( mpBtnInsStrings, "text" );
@@ -59,6 +60,9 @@ ScInsertContentsDlg::ScInsertContentsDlg( Window*       pParent,
     get( mpRbMoveNone, "no_shift" );
     get( mpRbMoveDown, "move_down" );
     get( mpRbMoveRight, "move_right" );
+    get( mpBtnShortCutPasteValuesOnly, "paste_values_only");
+    get( mpBtnShortCutPasteValuesFormats, "paste_values_formats");
+    get( mpBtnShortCutPasteTranspose, "paste_transpose");
 
     if ( pStrTitle )
         SetText( *pStrTitle );
@@ -111,6 +115,9 @@ ScInsertContentsDlg::ScInsertContentsDlg( Window*       pParent,
     mpBtnInsAll->SetClickHdl( LINK( this, ScInsertContentsDlg, InsAllHdl ) );
     mpBtnLink->SetClickHdl( LINK( this, ScInsertContentsDlg, LinkBtnHdl ) );
 
+    mpBtnShortCutPasteValuesOnly->SetClickHdl( LINK( this, ScInsertContentsDlg, ShortCutHdl ) );;
+    mpBtnShortCutPasteValuesFormats->SetClickHdl( LINK( this, ScInsertContentsDlg, ShortCutHdl ) );;
+    mpBtnShortCutPasteTranspose->SetClickHdl( LINK( this, ScInsertContentsDlg, ShortCutHdl ) );
 }
 
 sal_uInt16 ScInsertContentsDlg::GetInsContentsCmdBits() const
@@ -134,6 +141,9 @@ sal_uInt16 ScInsertContentsDlg::GetInsContentsCmdBits() const
 
     ScInsertContentsDlg::bPreviousAllCheck = mpBtnInsAll->IsChecked();
 
+    if (bUsedShortCut)
+        return nShortCutInsContentsCmdBits;
+
     return ( (ScInsertContentsDlg::bPreviousAllCheck)
                 ? IDF_ALL
                 : ScInsertContentsDlg::nPreviousChecks );
@@ -141,6 +151,8 @@ sal_uInt16 ScInsertContentsDlg::GetInsContentsCmdBits() const
 
 InsCellCmd ScInsertContentsDlg::GetMoveMode()
 {
+    if (bUsedShortCut)
+        return nShortCutMoveMode;
     if ( mpRbMoveDown->IsChecked() )
         return INS_CELLSDOWN;
     if ( mpRbMoveRight->IsChecked() )
@@ -149,6 +161,27 @@ InsCellCmd ScInsertContentsDlg::GetMoveMode()
     return INS_NONE;
 }
 
+bool ScInsertContentsDlg::IsSkipEmptyCells() const
+{
+    if (bUsedShortCut)
+        return bShortCutSkipEmptyCells;
+    return mpBtnSkipEmptyCells->IsChecked();
+}
+
+bool ScInsertContentsDlg::IsTranspose() const
+{
+    if (bUsedShortCut)
+        return bShortCutTranspose;
+    return mpBtnTranspose->IsChecked();
+}
+
+bool ScInsertContentsDlg::IsLink() const
+{
+    if (bUsedShortCut)
+        return bShortCutIsLink;
+    return mpBtnLink->IsChecked();
+}
+
 void ScInsertContentsDlg::DisableChecks( bool bInsAllChecked )
 {
     if ( bInsAllChecked )
@@ -267,6 +300,45 @@ void ScInsertContentsDlg::SetCellShiftDisabled( int nDisable )
     }
 }
 
+IMPL_LINK( ScInsertContentsDlg, ShortCutHdl, PushButton*, pBtn )
+{
+    if ( pBtn == mpBtnShortCutPasteValuesOnly )
+    {
+        bUsedShortCut = true;
+        nShortCutInsContentsCmdBits = IDF_STRING | IDF_VALUE | IDF_DATETIME;
+        nShortCutFormulaCmdBits = PASTE_NOFUNC;
+        bShortCutSkipEmptyCells = false;
+        bShortCutTranspose = false;
+        bShortCutIsLink = false;
+        nShortCutMoveMode = INS_NONE;
+        EndDialog(RET_OK);
+    }
+    else if ( pBtn == mpBtnShortCutPasteValuesFormats )
+    {
+        bUsedShortCut = true;
+        nShortCutInsContentsCmdBits = IDF_STRING | IDF_VALUE | IDF_DATETIME | IDF_ATTRIB;
+        nShortCutFormulaCmdBits = PASTE_NOFUNC;
+        bShortCutSkipEmptyCells = false;
+        bShortCutTranspose = false;
+        bShortCutIsLink = false;
+        nShortCutMoveMode = INS_NONE;
+        EndDialog(RET_OK);
+    }
+    else if ( pBtn == mpBtnShortCutPasteTranspose )
+    {
+        bUsedShortCut = true;
+        nShortCutInsContentsCmdBits = IDF_ALL;
+        nShortCutFormulaCmdBits = PASTE_NOFUNC;
+        bShortCutSkipEmptyCells = false;
+        bShortCutTranspose = true;
+        bShortCutIsLink = false;
+        nShortCutMoveMode = INS_NONE;
+        EndDialog(RET_OK);
+    }
+    return 0;
+}
+
+
 IMPL_LINK_NOARG(ScInsertContentsDlg, InsAllHdl)
 {
     DisableChecks( mpBtnInsAll->IsChecked() );
@@ -314,6 +386,8 @@ sal_uInt16  ScInsertContentsDlg::GetFormulaCmdBits() const
     else if(mpRbDiv->IsChecked())
         ScInsertContentsDlg::nPreviousFormulaChecks = PASTE_DIV;
     // Bits fuer Checkboxen ausblenden
+    if (bUsedShortCut)
+        return nShortCutFormulaCmdBits;
     return ScInsertContentsDlg::nPreviousFormulaChecks;
 }
 
diff --git a/sc/uiconfig/scalc/ui/pastespecial.ui b/sc/uiconfig/scalc/ui/pastespecial.ui
index c8c7ecc..bf6b9d0 100644
--- a/sc/uiconfig/scalc/ui/pastespecial.ui
+++ b/sc/uiconfig/scalc/ui/pastespecial.ui
@@ -1,7 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.16.0 on Tue Jan 28 13:14:40 2014 -->
+<!-- Generated with glade 3.18.3 -->
 <interface>
-  <!-- interface-requires gtk+ 3.0 -->
+  <requires lib="gtk+" version="3.0"/>
+  <object class="GtkImage" id="img_paste_values_formats">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixbuf">sc/res/paste_values_formats.png</property>
+  </object>
+  <object class="GtkImage" id="img_paste_values_only">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixbuf">sc/res/paste_values_only.png</property>
+  </object>
+  <object class="GtkImage" id="img_paste_transpose">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixbuf">sc/res/paste_transpose.png</property>
+  </object>
   <object class="GtkDialog" id="PasteSpecial">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
@@ -68,6 +83,66 @@
           </packing>
         </child>
         <child>
+          <object class="GtkButtonBox" id="buttonbox1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">start</property>
+            <child>
+              <object class="GtkButton" id="paste_values_only">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">Values Only</property>
+                <property name="tooltip_text" translatable="yes">Values Only</property>
+                <property name="image">img_paste_values_only</property>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="paste_values_formats">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">Values & Formats</property>
+                <property name="tooltip_text" translatable="yes">Values & Formats</property>
+                <property name="image">img_paste_values_formats</property>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="paste_transpose">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_markup" translatable="yes">Transpose</property>
+                <property name="tooltip_text" translatable="yes">Transpose</property>
+                <property name="image">img_paste_transpose</property>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
           <object class="GtkGrid" id="grid1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
@@ -239,8 +314,6 @@
               <packing>
                 <property name="left_attach">0</property>
                 <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -371,8 +444,6 @@
               <packing>
                 <property name="left_attach">1</property>
                 <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -464,8 +535,6 @@
               <packing>
                 <property name="left_attach">0</property>
                 <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
               </packing>
             </child>
             <child>
@@ -561,15 +630,13 @@
               <packing>
                 <property name="left_attach">1</property>
                 <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
               </packing>
             </child>
           </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="position">1</property>
+            <property name="position">2</property>
           </packing>
         </child>
       </object>


More information about the Libreoffice-commits mailing list