[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.2/kdeutils/kcalc
From: David Johnson <david () usermode ! org>
Date: 2009-01-31 21:09:45
Message-ID: 1233436185.646657.520.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 919387 by brandybuck:
backport fix for 181875
M +23 -9 kcalc.cpp
M +6 -5 kcalc.h
M +8 -0 kcalc.kcfg
M +1 -3 kcalc_settings.kcfgc
--- branches/KDE/4.2/kdeutils/kcalc/kcalc.cpp #919386:919387
@@ -134,8 +134,6 @@
calc_display->changeSettings();
setPrecision();
- resetBase(); // switch to decimal
-
updateGeometry();
setFixedSize(minimumSize());
@@ -159,6 +157,9 @@
actionBitsetshow->setChecked(KCalcSettings::showBitset());
slotBitsetshow(KCalcSettings::showBitset());
+ setAngle();
+ setBase();
+
// connections
connect(KGlobalSettings::self(), SIGNAL(kdisplayPaletteChanged()),
@@ -837,6 +838,7 @@
btn->setEnabled(true);
}
}
+ KCalcSettings::setBaseMode(base);
}
void KCalculator::keyPressEvent(QKeyEvent *e)
@@ -880,6 +882,7 @@
default: // we shouldn't ever end up here
_angle_mode = RadMode;
}
+ KCalcSettings::setAngleMode(_angle_mode);
}
void KCalculator::slotEEclicked(void)
@@ -1608,10 +1611,8 @@
foreach (QAbstractButton* btn, AngleChooseGroup->buttons()) {
btn->show();
}
- statusBar()->changeItem(" DEG ", AngleField);
statusBar()->setItemFixed(AngleField, -1);
- calc_display->setStatusText(AngleField, "Deg");
- degRadio->setChecked(true);
+ setAngle();
}
else
{
@@ -1640,13 +1641,12 @@
foreach (QAbstractButton* btn, logicButtons) {
btn->show();
}
- statusBar()->changeItem(" HEX ", BaseField);
statusBar()->setItemFixed(BaseField, -1);
- calc_display->setStatusText(BaseField, "Hex");
+ setBase();
+
foreach (QAbstractButton *btn, BaseChooseGroup->buttons()) {
btn->show();
}
- resetBase();
for (int i=10; i<16; i++)
(NumButtonGroup->button(i))->show();
}
@@ -1661,7 +1661,7 @@
btn->hide();
}
// Hide Hex-Buttons, but first switch back to decimal
- resetBase();
+ decRadio->animateClick(0);
foreach (QAbstractButton *btn, BaseChooseGroup->buttons()) {
btn->hide();
}
@@ -1854,6 +1854,20 @@
updateDisplay(false);
}
+void KCalculator::setAngle()
+{
+ QAbstractButton *btn;
+ btn = AngleChooseGroup->button(KCalcSettings::angleMode());
+ if (btn) btn->animateClick(0);
+}
+
+void KCalculator::setBase()
+{
+ QAbstractButton *btn;
+ btn = BaseChooseGroup->button(KCalcSettings::baseMode());
+ if (btn) btn->animateClick(0);
+}
+
bool KCalculator::eventFilter(QObject *o, QEvent *e)
{
switch(e->type())
--- branches/KDE/4.2/kdeutils/kcalc/kcalc.h #919386:919387
@@ -117,7 +117,8 @@
void keyPressEvent(QKeyEvent *e);
void keyReleaseEvent(QKeyEvent *e);
void setPrecision();
- void resetBase(void) { decRadio->animateClick(); }
+ void setAngle();
+ void setBase();
void updateDisplay(bool get_amount_from_core = false,
bool store_result_in_history = false);
@@ -207,10 +208,10 @@
GradMode
};
enum BaseMode {
- HexMode = 0,
- DecMode,
- OctMode,
- BinMode
+ BinMode = 2,
+ OctMode = 8,
+ DecMode = 10,
+ HexMode = 16
};
private:
--- branches/KDE/4.2/kdeutils/kcalc/kcalc.kcfg #919386:919387
@@ -112,6 +112,14 @@
<label>Whether to show constant buttons.</label>
<default>false</default>
</entry>
+ <entry name="AngleMode" type="UInt">
+ <label>Degrees, radians or grads</label>
+ <default>0</default>
+ </entry>
+ <entry name="BaseMode" type="UInt">
+ <label>Numeric base</label>
+ <default>10</default>
+ </entry>
</group>
<group name="UserConstants">
<entry name="nameConstant$(ConstIndex)" type="String" key="nameConstant$(ConstIndex)">
--- branches/KDE/4.2/kdeutils/kcalc/kcalc_settings.kcfgc #919386:919387
@@ -2,6 +2,4 @@
File=kcalc.kcfg
ClassName=KCalcSettings
Singleton=true
-Mutators=ShowBitset,ShowStat,ShowScientific,ShowLogic,ShowConstants,nameConstant,valueConstant
-# Inherits=KConfigSkeleton
-# MemberVariables=public
+Mutators=true
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic