[Libreoffice-commits] core.git: 3 commits - cui/source cui/uiconfig fpicker/inc svtools/inc

Caolán McNamara caolanm at redhat.com
Tue May 9 12:37:31 UTC 2017


 cui/source/dialogs/insdlg.cxx      |   16 ++++
 cui/source/inc/insdlg.hxx          |    1 
 cui/uiconfig/ui/insertoleobject.ui |  131 ++++++++++++++++++++-----------------
 fpicker/inc/bitmaps.hlst           |    2 
 svtools/inc/bitmaps.hlst           |    2 
 5 files changed, 92 insertions(+), 60 deletions(-)

New commits:
commit f505f95d466d4d3348f41dfd93e5c243d15c6c71
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue May 9 13:27:06 2017 +0100

    Resolves: tdf#62702 allow ole objects to be inserted as icons
    
    under windows on "create new", "further objects" you get the
    native windows insert object dialog which has the "Display As Icon"
    option, but on Linux etc (or using our own dialog) there isn't that
    option
    
    so add a "Display as icon" checkbox in our own dialog and generate
    an icon through SvFileInformationManager::GetImage
    
    Change-Id: I0a400189031900bd1e387465ec4ba57847cb5394

diff --git a/cui/source/dialogs/insdlg.cxx b/cui/source/dialogs/insdlg.cxx
index 512cf89f908b..ca663f9996ed 100644
--- a/cui/source/dialogs/insdlg.cxx
+++ b/cui/source/dialogs/insdlg.cxx
@@ -34,6 +34,7 @@
 
 #include "insdlg.hxx"
 #include <dialmgr.hxx>
+#include <svtools/imagemgr.hxx>
 #include <svtools/sores.hxx>
 
 #include <tools/urlobj.hxx>
@@ -164,6 +165,7 @@ SvInsertOleDlg::SvInsertOleDlg
     get(m_pEdFilepath, "urled");
     get(m_pBtnFilepath, "urlbtn");
     get(m_pCbFilelink, "linktofile");
+    get(m_pCbAsIcon, "asicon");
     m_pLbObjecttype->SetDoubleClickHdl( LINK( this, SvInsertOleDlg, DoubleClickHdl ) );
     m_pBtnFilepath->SetClickHdl( LINK( this, SvInsertOleDlg, BrowseHdl ) );
     Link<Button*,void> aLink( LINK( this, SvInsertOleDlg, RadioHdl ) );
@@ -188,6 +190,7 @@ void SvInsertOleDlg::dispose()
     m_pEdFilepath.clear();
     m_pBtnFilepath.clear();
     m_pCbFilelink.clear();
+    m_pCbAsIcon.clear();
     InsertObjectDialog_Impl::dispose();
 }
 
@@ -328,6 +331,19 @@ short SvInsertOleDlg::Execute()
                 aErr = aErr.replaceFirst( "%", aFileName );
                 ScopedVclPtrInstance<MessageDialog>(this, aErr)->Execute();
             }
+            else
+            {
+                if (m_pCbAsIcon->IsChecked())
+                {
+                    //something nice here I guess would be to write the filename into
+                    //the image with this icon above it
+                    Image aImage = SvFileInformationManager::GetImage(aURL, true);
+                    SvMemoryStream aTemp;
+                    WriteDIBBitmapEx(aImage.GetBitmapEx(), aTemp);
+                    m_aIconMetaFile = Sequence<sal_Int8>(static_cast<const sal_Int8*>(aTemp.GetData()), aTemp.Seek(STREAM_SEEK_TO_END));
+                    m_aIconMediaType = "application/x-openoffice-bitmap;windows_formatname=\"Bitmap\"";
+                }
+            }
         }
     }
 
diff --git a/cui/source/inc/insdlg.hxx b/cui/source/inc/insdlg.hxx
index cd6a45a507ab..4b4277495004 100644
--- a/cui/source/inc/insdlg.hxx
+++ b/cui/source/inc/insdlg.hxx
@@ -64,6 +64,7 @@ class SvInsertOleDlg : public InsertObjectDialog_Impl
     VclPtr<Edit> m_pEdFilepath;
     VclPtr<PushButton> m_pBtnFilepath;
     VclPtr<CheckBox> m_pCbFilelink;
+    VclPtr<CheckBox> m_pCbAsIcon;
     const SvObjectServerList* m_pServers;
 
     css::uno::Sequence< sal_Int8 > m_aIconMetaFile;
diff --git a/cui/uiconfig/ui/insertoleobject.ui b/cui/uiconfig/ui/insertoleobject.ui
index 5ddf229e6d9d..1aaeecb9319a 100644
--- a/cui/uiconfig/ui/insertoleobject.ui
+++ b/cui/uiconfig/ui/insertoleobject.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.0 -->
 <interface>
   <requires lib="gtk+" version="3.0"/>
   <object class="GtkDialog" id="InsertOLEObjectDialog">
@@ -12,6 +12,63 @@
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="ok">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancel">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="help">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+                <property name="secondary">True</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkBox" id="box1">
             <property name="width_request">400</property>
@@ -162,6 +219,21 @@
                             <property name="top_attach">1</property>
                           </packing>
                         </child>
+                        <child>
+                          <object class="GtkCheckButton" id="asicon">
+                            <property name="label" translatable="yes">Display as icon</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">2</property>
+                            <property name="width">2</property>
+                          </packing>
+                        </child>
                       </object>
                     </child>
                   </object>
@@ -191,63 +263,6 @@
             <property name="position">0</property>
           </packing>
         </child>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area1">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="ok">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="cancel">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="help">
-                <property name="label">gtk-help</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">2</property>
-                <property name="secondary">True</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
       </object>
     </child>
     <action-widgets>
commit 077e053241b5dd19ee0b901473c2100550d1e3fe
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue May 9 13:16:53 2017 +0100

    folder.png is a different place than the others
    
    Change-Id: Ie607ab969dbd3a035b59bd9c44262d7ff69c2ed7

diff --git a/svtools/inc/bitmaps.hlst b/svtools/inc/bitmaps.hlst
index 8948877de62a..c31034a41a88 100644
--- a/svtools/inc/bitmaps.hlst
+++ b/svtools/inc/bitmaps.hlst
@@ -108,7 +108,7 @@
 #define BMP_OO_WRITER_TEMPLATE_LC   "res/lx03255.png"
 #define BMP_EXTENSION_LC            "res/lx03256.png"
 #define BMP_PLUGIN                  "res/plugin.png"
-#define RID_BMP_FOLDER              "res/folder.png"
+#define RID_BMP_FOLDER              "svtools/res/folder.png"
 #define RID_BMP_FOLDER_OPEN         "res/folderop.png"
 #define RID_BMP_TREENODE_COLLAPSED  "res/plus.png"
 #define RID_BMP_TREENODE_EXPANDED   "res/minus.png"
commit 0e32a434ef4d30d6d01cdce0f627fd32b249a1ff
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue May 9 13:15:32 2017 +0100

    fp010 is not in fpicker like the others
    
    Change-Id: I4c574596a4aaaf7584818e167805748dd02cff6c

diff --git a/fpicker/inc/bitmaps.hlst b/fpicker/inc/bitmaps.hlst
index a0cdf0124d34..61d5b71186de 100644
--- a/fpicker/inc/bitmaps.hlst
+++ b/fpicker/inc/bitmaps.hlst
@@ -10,7 +10,7 @@
 #ifndef INCLUDED_FPICKER_INC_BITMAPS_HRC
 #define INCLUDED_FPICKER_INC_BITMAPS_HRC
 
-#define BMP_FILEDLG_BTN_UP          "fpicker/res/fp010.png"
+#define BMP_FILEDLG_BTN_UP          "res/fp010.png"
 #define BMP_FILEDLG_CREATEFOLDER    "fpicker/res/fp014.png"
 #define BMP_FILEDLG_PLACE_LOCAL     "fpicker/res/fp015.png"
 #define BMP_FILEDLG_PLACE_REMOTE    "fpicker/res/fp016.png"


More information about the Libreoffice-commits mailing list