1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
From 80cb33570557010547a08b5b1cd6bc0c1ee018fc Mon Sep 17 00:00:00 2001
From: Akshay Deep <akshaydeepiitr@gmail.com>
Date: Fri, 17 Jun 2016 13:41:00 +0530
Subject: tdf#75369 Start Center: Non-installed applications aren't greyed out
Change-Id: I52de5d7062bebe816e90ba39f559cd57dfc1067c
Reviewed-on: https://gerrit.libreoffice.org/26406
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx
index 730627c..9c054d5 100644
--- a/sfx2/source/dialog/backingwindow.cxx
+++ b/sfx2/source/dialog/backingwindow.cxx
@@ -25,6 +25,7 @@
#include <vcl/virdev.hxx>
#include <unotools/dynamicmenuoptions.hxx>
+#include <unotools/moduleoptions.hxx>
#include <svtools/openfiledroptargetlistener.hxx>
#include <svtools/colorcfg.hxx>
#include <svtools/langhelp.hxx>
@@ -280,6 +281,8 @@ void BackingWindow::initControls()
setupButton( mpImpressAllButton );
setupButton( mpMathAllButton );
+ checkInstalledModules();
+
mpExtensionsButton->SetClickHdl(LINK(this, BackingWindow, ExtLinkClickHdl));
// setup nice colors
@@ -358,6 +361,23 @@ void BackingWindow::setupButton( MenuButton* pButton )
pButton->SetSelectHdl(LINK(this, BackingWindow, MenuSelectHdl));
}
+void BackingWindow::checkInstalledModules()
+{
+ SvtModuleOptions aModuleOpt;
+
+ mpWriterAllButton->Enable( aModuleOpt.IsModuleInstalled( SvtModuleOptions::EModule::WRITER ));
+
+ mpCalcAllButton->Enable( aModuleOpt.IsModuleInstalled( SvtModuleOptions::EModule::CALC ) );
+
+ mpImpressAllButton->Enable( aModuleOpt.IsModuleInstalled( SvtModuleOptions::EModule::IMPRESS ) );
+
+ mpDrawAllButton->Enable( aModuleOpt.IsModuleInstalled( SvtModuleOptions::EModule::DRAW ) );
+
+ mpMathAllButton->Enable(aModuleOpt.IsModuleInstalled( SvtModuleOptions::EModule::MATH ));
+
+ mpDBAllButton->Enable(aModuleOpt.IsModuleInstalled( SvtModuleOptions::EModule::DATABASE ));
+}
+
void BackingWindow::Paint(vcl::RenderContext& rRenderContext, const Rectangle&)
{
Resize();
diff --git a/sfx2/source/dialog/backingwindow.hxx b/sfx2/source/dialog/backingwindow.hxx
index cfaf984..4c80c9f 100644
--- a/sfx2/source/dialog/backingwindow.hxx
+++ b/sfx2/source/dialog/backingwindow.hxx
@@ -111,6 +111,8 @@ class BackingWindow : public vcl::Window, public VclBuilderContainer
void initializeLocalView();
+ void checkInstalledModules();
+
public:
explicit BackingWindow(vcl::Window* pParent);
virtual ~BackingWindow();
--
cgit v0.10.2
|