sc/source/core/data/conditio.cxx | 36 +++++++++++++++---------- sc/source/ui/condformat/condformatdlgentry.cxx | 4 ++ sc/source/ui/condformat/condformathelper.cxx | 4 ++ sc/source/ui/inc/condformatdlg.hxx | 2 - 4 files changed, 32 insertions(+), 14 deletions(-)
New commits: commit 313575bd0d307ab37b0f3ab0d2c47330d546eaa1 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Mon Dec 17 23:53:38 2012 +0100 first check that the number of cells has not been reached yet, fdo#58346 Change-Id: I0fea5719f524584acdbbc560c47b3c427c174845 diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx index e4d3d75..935ff48 100644 --- a/sc/source/core/data/conditio.cxx +++ b/sc/source/core/data/conditio.cxx @@ -865,10 +865,10 @@ bool ScConditionEntry::IsTopNElement( double nArg ) const for(ScConditionEntryCache::ValueCacheType::const_reverse_iterator itr = mpCache->maValues.rbegin(), itrEnd = mpCache->maValues.rend(); itr != itrEnd; ++itr) { - if(itr->first <= nArg) - return true; if(nCells >= nVal1) return false; + if(itr->first <= nArg) + return true; nCells += itr->second; } @@ -886,10 +886,10 @@ bool ScConditionEntry::IsBottomNElement( double nArg ) const for(ScConditionEntryCache::ValueCacheType::const_iterator itr = mpCache->maValues.begin(), itrEnd = mpCache->maValues.end(); itr != itrEnd; ++itr) { - if(itr->first >= nArg) - return true; if(nCells >= nVal1) return false; + if(itr->first >= nArg) + return true; nCells += itr->second; } @@ -905,10 +905,10 @@ bool ScConditionEntry::IsTopNPercent( double nArg ) const for(ScConditionEntryCache::ValueCacheType::const_reverse_iterator itr = mpCache->maValues.rbegin(), itrEnd = mpCache->maValues.rend(); itr != itrEnd; ++itr) { - if(itr->first <= nArg) - return true; if(nCells >= nLimitCells) return false; + if(itr->first <= nArg) + return true; nCells += itr->second; } @@ -924,10 +924,10 @@ bool ScConditionEntry::IsBottomNPercent( double nArg ) const for(ScConditionEntryCache::ValueCacheType::const_iterator itr = mpCache->maValues.begin(), itrEnd = mpCache->maValues.end(); itr != itrEnd; ++itr) { - if(itr->first >= nArg) - return true; if(nCells >= nLimitCells) return false; + if(itr->first >= nArg) + return true; nCells += itr->second; } commit 4d46369f128393441ca87945cb419fe1350d1feb Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Mon Dec 17 22:58:26 2012 +0100 UI does not update correctly for icon sets, fdo#58308 Change-Id: Iceeab1ea3624fbefa8cb626899262e857b445ac1 diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx index 36b8ddb..3fc1612 100644 --- a/sc/source/ui/condformat/condformatdlgentry.cxx +++ b/sc/source/ui/condformat/condformatdlgentry.cxx @@ -1354,9 +1354,13 @@ IMPL_LINK_NOARG( ScIconSetFrmtEntry, IconSetTypeHdl ) Point aPos = maEntries[0].GetPosPixel(); aPos.Y() += maEntries[0].GetSizePixel().Height() * i * 1.2; maEntries[i].SetPosPixel( aPos ); + maEntries[i].Show(); } maEntries.back().SetLastEntry(); + SetHeight(); + static_cast<ScCondFormatList*>(GetParent())->RecalcAll(); + return 0; } diff --git a/sc/source/ui/inc/condformatdlg.hxx b/sc/source/ui/inc/condformatdlg.hxx index 588d04d..68651ff 100644 --- a/sc/source/ui/inc/condformatdlg.hxx +++ b/sc/source/ui/inc/condformatdlg.hxx @@ -78,7 +78,6 @@ private: ScAddress maPos; ScRangeList maRanges; - void RecalcAll(); void DoScroll(long nDiff); public: @@ -86,6 +85,7 @@ public: const ScRangeList& rRanges, const ScAddress& rPos, condformat::dialog::ScCondFormatDialogType eType); ScConditionalFormat* GetConditionalFormat() const; + void RecalcAll(); DECL_LINK( AddBtnHdl, void* ); DECL_LINK( RemoveBtnHdl, void* ); commit f2dac67df505f51e6341d29cd185f25323c75251 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Mon Dec 17 22:57:35 2012 +0100 workaround FORMULA is not part of the condition is in the UI Change-Id: I6c51ecfbddeeaed3f8747cde90996f7e236a0afd diff --git a/sc/source/ui/condformat/condformathelper.cxx b/sc/source/ui/condformat/condformathelper.cxx index 67a175d..b594910 100644 --- a/sc/source/ui/condformat/condformathelper.cxx +++ b/sc/source/ui/condformat/condformathelper.cxx @@ -153,6 +153,10 @@ rtl::OUString ScCondFormatHelper::GetExpression( ScCondFormatEntryType eType, sa aBuffer.append(rtl::OUString(" ")); if(eType == CONDITION) { + // workaround missing FORMULA option in the conditions case + // FORMULA is handled later + if(nIndex > 9) + ++nIndex; aBuffer.append(getExpression(nIndex)); if(nIndex <= 7 || nIndex >= 19) { commit c03d0664cfd060c0f9d706d574c15a396fb67a04 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Mon Dec 17 21:41:22 2012 +0100 fix the month date formats, related fdo#58340 Change-Id: If9f716fd2d2f5a8488451121067ee068673b3b7a diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx index 7a2fc99..e4d3d75 100644 --- a/sc/source/core/data/conditio.cxx +++ b/sc/source/core/data/conditio.cxx @@ -1705,7 +1705,12 @@ bool ScCondDateFormatEntry::IsValid( const ScAddress& rPos ) const } break; case condformat::LASTMONTH: - if( rActDate.GetYear() == aCellDate.GetYear() ) + if( rActDate.GetMonth() == 1 ) + { + if( aCellDate.GetMonth() == 12 && rActDate.GetYear() == aCellDate.GetYear() + 1 ) + return true; + } + else if( rActDate.GetYear() == aCellDate.GetYear() ) { if( rActDate.GetMonth() == aCellDate.GetMonth() + 1) return true; @@ -1719,7 +1724,12 @@ bool ScCondDateFormatEntry::IsValid( const ScAddress& rPos ) const } break; case condformat::NEXTMONTH: - if( rActDate.GetYear() == aCellDate.GetYear() ) + if( rActDate.GetMonth() == 12 ) + { + if( aCellDate.GetMonth() == 1 && rActDate.GetYear() == aCellDate.GetYear() - 1 ) + return true; + } + else if( rActDate.GetYear() == aCellDate.GetYear() ) { if( rActDate.GetMonth() == aCellDate.GetMonth() - 1) return true; commit fe0c61908011f3fee724d6466cd33e82b1c2944a Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Dec 15 19:53:26 2012 +0100 checking for the month is wrong, related fdo#58340 Change-Id: I9920e8ad84da58f32a61a4bd864ea80b011ad746 diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx index c193607..7a2fc99 100644 --- a/sc/source/core/data/conditio.cxx +++ b/sc/source/core/data/conditio.cxx @@ -1684,21 +1684,21 @@ bool ScCondDateFormatEntry::IsValid( const ScAddress& rPos ) const return true; break; case condformat::LASTWEEK: - if( rActDate.GetYear() == aCellDate.GetYear() && rActDate.GetMonth() == aCellDate.GetMonth() ) + if( rActDate.GetYear() == aCellDate.GetYear() ) { if( rActDate.GetWeekOfYear( SUNDAY ) == aCellDate.GetWeekOfYear( SUNDAY ) + 1 ) return true; } break; case condformat::THISWEEK: - if( rActDate.GetYear() == aCellDate.GetYear() && rActDate.GetMonth() == aCellDate.GetMonth() ) + if( rActDate.GetYear() == aCellDate.GetYear() ) { if( rActDate.GetWeekOfYear( SUNDAY ) == aCellDate.GetWeekOfYear( SUNDAY ) ) return true; } break; case condformat::NEXTWEEK: - if( rActDate.GetYear() == aCellDate.GetYear() && rActDate.GetMonth() == aCellDate.GetMonth() ) + if( rActDate.GetYear() == aCellDate.GetYear() ) { if( rActDate.GetWeekOfYear( SUNDAY ) == aCellDate.GetWeekOfYear( SUNDAY ) - 1 ) return true; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits