summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Fischer <af@apache.org>2013-05-10 08:51:15 +0000
committerMichael Meeks <michael.meeks@suse.com>2013-05-20 11:33:31 +0100
commitb97fb5ca158f8839798900bae7239bb9339a062b (patch)
tree354f81cac419d2935dcedbe9d90e1596fadd77ca
parentbd26a6abb58f16b77f587b8d5c3aee41ae728ada (diff)
Related: #i122082# Disable controls of text property sidebar...
panel for disabled document parts (cherry picked from commit ffcc8c326640dfbc6b765cd25875adf9e0ab66ad) Conflicts: sfx2/inc/sfx2/sidebar/ControllerItem.hxx svx/source/sidebar/text/TextPropertyPanel.cxx Change-Id: I9f38c71c6415f3d255b5607a67a110bca47358b0 Related: #i122082# Remove temporary change (cherry picked from commit f213ea43fac43326a643f30ff13abd9d77f6aed7) Change-Id: I157542fd5dbbda17b63900be9a41782ee581309c
-rw-r--r--include/sfx2/sidebar/ControllerItem.hxx2
-rw-r--r--sfx2/source/sidebar/ControllerItem.cxx10
-rw-r--r--svx/source/sidebar/text/TextPropertyPanel.cxx63
-rw-r--r--svx/source/sidebar/text/TextPropertyPanel.hxx1
-rw-r--r--svx/source/sidebar/text/TextPropertyPanel.src16
5 files changed, 68 insertions, 24 deletions
diff --git a/include/sfx2/sidebar/ControllerItem.hxx b/include/sfx2/sidebar/ControllerItem.hxx
index e79d797b0c06..61d21ba36f63 100644
--- a/include/sfx2/sidebar/ControllerItem.hxx
+++ b/include/sfx2/sidebar/ControllerItem.hxx
@@ -88,7 +88,7 @@ public:
Changes of this state are notified via the
ItemUpdateReceiverInterface::NotifyContextChang() method.
*/
- bool IsEnabled (void) const;
+ bool IsEnabled (const SfxItemState eState) const;
/** Force the controller item to call its NotifyItemUpdate
callback with up-to-date data.
diff --git a/sfx2/source/sidebar/ControllerItem.cxx b/sfx2/source/sidebar/ControllerItem.cxx
index 521a2953cea1..5abc109cc425 100644
--- a/sfx2/source/sidebar/ControllerItem.cxx
+++ b/sfx2/source/sidebar/ControllerItem.cxx
@@ -133,15 +133,17 @@ void ControllerItem::StateChanged (
SfxItemState eState,
const SfxPoolItem* pState)
{
- mrItemUpdateReceiver.NotifyItemUpdate(nSID, eState, pState, IsEnabled());
+ mrItemUpdateReceiver.NotifyItemUpdate(nSID, eState, pState, IsEnabled(eState));
}
-bool ControllerItem::IsEnabled (void) const
+bool ControllerItem::IsEnabled (SfxItemState eState) const
{
- if ( ! SvtCommandOptions().HasEntries(SvtCommandOptions::CMDOPTION_DISABLED))
+ if (eState == SFX_ITEM_DISABLED)
+ return false;
+ else if ( ! SvtCommandOptions().HasEntries(SvtCommandOptions::CMDOPTION_DISABLED))
{
// There are no disabled commands.
return true;
@@ -168,7 +170,7 @@ void ControllerItem::RequestUpdate (void)
{
SfxPoolItem* pState = NULL;
const SfxItemState eState (GetBindings().QueryState(GetId(), pState));
- mrItemUpdateReceiver.NotifyItemUpdate(GetId(), eState, pState, IsEnabled());
+ mrItemUpdateReceiver.NotifyItemUpdate(GetId(), eState, pState, IsEnabled(eState));
}
diff --git a/svx/source/sidebar/text/TextPropertyPanel.cxx b/svx/source/sidebar/text/TextPropertyPanel.cxx
index 3a9d605450f0..3a671937ff68 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.cxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.cxx
@@ -68,10 +68,7 @@ namespace svx { namespace sidebar {
#undef HAS_IA2
-#define TEXT_SECTIONPAGE_HEIGHT SECTIONPAGE_MARGIN_VERTICAL_TOP + CBOX_HEIGHT + ( TOOLBOX_ITEM_HEIGHT + 2 ) * 2 + CONTROL_SPACING_VERTICAL * 2 + SECTIONPAGE_MARGIN_VERTICAL_BOT
-
-
- PopupControl* TextPropertyPanel::CreateCharacterSpacingControl (PopupContainer* pParent)
+PopupControl* TextPropertyPanel::CreateCharacterSpacingControl (PopupContainer* pParent)
{
return new TextCharacterSpacingControl(pParent, *this, mpBindings);
}
@@ -335,6 +332,7 @@ void TextPropertyPanel::DataChanged (const DataChangedEvent& rEvent)
+
void TextPropertyPanel::Initialize (void)
{
//<<modify fill font list
@@ -420,11 +418,6 @@ void TextPropertyPanel::Initialize (void)
maFontSizeBox.SetSelectHdl(aLink);
aLink = LINK(this, TextPropertyPanel, FontSizeLoseFocus);
maFontSizeBox.SetLoseFocusHdl(aLink);
-
- Size aSize(PROPERTYPAGE_WIDTH, TEXT_SECTIONPAGE_HEIGHT);
- aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) );
- aSize.setWidth(GetOutputSizePixel().Width());
- SetSizePixel(aSize);
}
void TextPropertyPanel::EndSpacingPopupMode (void)
@@ -944,16 +937,38 @@ void TextPropertyPanel::NotifyItemUpdate (
{
mpHeightItem = (SvxFontHeightItem*)pState;//const SvxFontHeightItem*
SfxMapUnit eUnit = maFontSizeControl.GetCoreMetric();
- long iValue = (long)CalcToPoint( mpHeightItem->GetHeight(), eUnit, 10 );
+ const sal_Int64 nValue (CalcToPoint(mpHeightItem->GetHeight(), eUnit, 10 ));
mpToolBoxIncDec->Enable();
mpToolBoxIncDec->SetItemState(TBI_INCREASE, STATE_NOCHECK);
mpToolBoxIncDec->SetItemState(TBI_DECREASE, STATE_NOCHECK);
+ // For Writer we have to update the states of the
+ // increase and decrease buttons here, because we have
+ // no access to the slots used by Writer.
+ switch(maContext.GetCombinedContext_DI())
+ {
+ case CombinedEnumContext(Application_DrawImpress, Context_DrawText):
+ case CombinedEnumContext(Application_DrawImpress, Context_Text):
+ case CombinedEnumContext(Application_DrawImpress, Context_Table):
+ case CombinedEnumContext(Application_DrawImpress, Context_OutlineText):
+ case CombinedEnumContext(Application_DrawImpress, Context_Draw):
+ case CombinedEnumContext(Application_DrawImpress, Context_TextObject):
+ case CombinedEnumContext(Application_DrawImpress, Context_Graphic):
+ break;
+
+ default:
+ {
+ mpToolBoxIncDec->EnableItem(TBI_INCREASE, bIsEnabled && nValue<960);
+ mpToolBoxIncDec->EnableItem(TBI_DECREASE, bIsEnabled && nValue>60);
+ break;
+ }
+ }
+
if( mbFocusOnFontSizeCtrl )
return;
- maFontSizeBox.SetValue( iValue );
+ maFontSizeBox.SetValue(nValue);
maFontSizeBox.LoseFocus();
UpdateItem(SID_SHRINK_FONT_SIZE);
@@ -1147,8 +1162,8 @@ void TextPropertyPanel::NotifyItemUpdate (
{
meEscape = SVX_ESCAPEMENT_OFF;
}
- mpToolBoxScriptSw->EnableItem(TBI_SUPER, bIsItemEnabled && bIsEnabled);
- mpToolBoxScriptSw->EnableItem(TBI_SUB, bIsItemEnabled && bIsEnabled);
+ mpToolBoxScriptSw->EnableItem(TBI_SUPER_SW, bIsItemEnabled && bIsEnabled);
+ mpToolBoxScriptSw->EnableItem(TBI_SUB_SW, bIsItemEnabled && bIsEnabled);
break;
}
@@ -1224,17 +1239,27 @@ void TextPropertyPanel::NotifyItemUpdate (
case CombinedEnumContext(Application_DrawImpress, Context_Draw):
case CombinedEnumContext(Application_DrawImpress, Context_TextObject):
case CombinedEnumContext(Application_DrawImpress, Context_Graphic):
+ {
if(eState == SFX_ITEM_DISABLED)
mpToolBoxIncDec->Disable();
else
mpToolBoxIncDec->Enable();
- break;
+ const sal_Int64 nSize (maFontSizeBox.GetValue());
+ switch(nSID)
+ {
+ case SID_GROW_FONT_SIZE:
+ mpToolBoxIncDec->EnableItem(TBI_INCREASE, bIsEnabled && nSize<960);
+ break;
+
+ case SID_SHRINK_FONT_SIZE:
+ mpToolBoxIncDec->EnableItem(TBI_DECREASE, bIsEnabled && nSize>60);
+ break;
+
+ default:
+ break;
+ }
+ }
}
- const sal_Int32 nSize (maFontSizeBox.GetValue());
- if (nSID == SID_GROW_FONT_SIZE)
- mpToolBoxIncDec->EnableItem(TBI_INCREASE, bIsEnabled && nSize<960);
- else
- mpToolBoxIncDec->EnableItem(TBI_DECREASE, bIsEnabled && nSize>60);
break;
}
}
diff --git a/svx/source/sidebar/text/TextPropertyPanel.hxx b/svx/source/sidebar/text/TextPropertyPanel.hxx
index cb097d6a5ccc..e2f4dac2124c 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.hxx
+++ b/svx/source/sidebar/text/TextPropertyPanel.hxx
@@ -57,6 +57,7 @@ public:
SfxBindings* pBindings);
virtual void DataChanged (const DataChangedEvent& rEvent);
+
::sfx2::sidebar::ControllerItem& GetSpaceController();
long GetSelFontSize();
void SetSpacing(long nKern);
diff --git a/svx/source/sidebar/text/TextPropertyPanel.src b/svx/source/sidebar/text/TextPropertyPanel.src
index d1ca9c30973b..f4038fe65a1c 100644
--- a/svx/source/sidebar/text/TextPropertyPanel.src
+++ b/svx/source/sidebar/text/TextPropertyPanel.src
@@ -60,6 +60,7 @@ Control RID_SIDEBAR_TEXT_PANEL
DropDown = TRUE;
HelpID = HID_COMBO_FONT_NAME ;
QuickHelpText [ en-US ] = "Font";
+// Command = ".uno:CharFontName";
};
MetricBox MB_SBFONT_FONTSIZE
{
@@ -70,6 +71,7 @@ Control RID_SIDEBAR_TEXT_PANEL
DropDown = TRUE;
HelpID = HID_METRIC_FONT_SIZE;
QuickHelpText [ en-US ] = "Font Size";
+// Command = ".uno:FontHeight";
};
ToolBox TB_INCREASE_DECREASE
@@ -86,11 +88,13 @@ Control RID_SIDEBAR_TEXT_PANEL
{
Identifier = TBI_INCREASE;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_INCREASE;
+ Command = ".uno:Grow";
};
ToolBoxItem
{
Identifier = TBI_DECREASE;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_DECREASE;
+ Command = ".uno:Shrink";
};
};
};
@@ -108,27 +112,32 @@ Control RID_SIDEBAR_TEXT_PANEL
{
Identifier = TBI_BOLD;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_BOLD;
+ Command = ".uno:Bold";
};
ToolBoxItem
{
Identifier = TBI_ITALIC;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_ITALIC;
+ Command = ".uno:Italic";
};
ToolBoxItem
{
Identifier = TBI_UNDERLINE;
DropDown = TRUE ;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_UNDERLINE;
+ Command = ".uno:Underline";
};
ToolBoxItem
{
Identifier = TBI_STRIKEOUT;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_STRIKEOUT;
+ Command = ".uno:Strikeout";
};
ToolBoxItem
{
Identifier = TBI_SHADOWED;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_SHADOWED;
+ Command = ".uno:Shadowed";
};
};
};
@@ -148,6 +157,7 @@ Control RID_SIDEBAR_TEXT_PANEL
Identifier = TBI_FONTCOLOR ;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_FONT_COLOR;
DropDown = TRUE ;
+ Command = ".uno:Color";
};
};
};
@@ -167,6 +177,7 @@ Control RID_SIDEBAR_TEXT_PANEL
Identifier = TBI_HIGHLIGHT ;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_HIGHLIGHT_COLOR;
DropDown = TRUE ;
+ Command = ".uno:CharacterBackgroundPattern";
};
};
};
@@ -185,11 +196,13 @@ Control RID_SIDEBAR_TEXT_PANEL
{
Identifier = TBI_SUPER_SW;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_SUPER_SW;
+ Command = ".uno:SuperScript";
};
ToolBoxItem
{
Identifier = TBI_SUB_SW;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_SUB_SW;
+ Command = ".uno:SubScript";
};
};
};
@@ -207,11 +220,13 @@ Control RID_SIDEBAR_TEXT_PANEL
{
Identifier = TBI_SUPER;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_SUPER;
+ Command = ".uno:SuperScript";
};
ToolBoxItem
{
Identifier = TBI_SUB;
HelpID = HID_PPROPERTYPANEL_TEXT_TBI_SUB;
+ Command = ".uno:SubScript";
};
};
};
@@ -231,6 +246,7 @@ Control RID_SIDEBAR_TEXT_PANEL
Identifier = TBI_SPACING;
DropDown = TRUE ;
HelpID = HID_TBI_SPACING;
+ Command = ".uno:Spacing";
};
};
};