[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 7738] fit to page wdith
From: Luis Pedro Coelho <luis_pedro () netcabo ! pt>
Date: 2003-09-01 16:43:42
[Download RAW message or body]
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.kde.org/show_bug.cgi?id=7738
luis_pedro@netcabo.pt changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From luis_pedro@netcabo.pt 2003-09-01 18:43 -------
Subject: kdegraphics/kghostview
CVS commit by luis_pedro:
This works much nicer like this. Press M,S ("M" followed by "S") to get a
one full screen view of the file.
CCMAIL: 7738-close@bugs.kde.org
M +17 -2 kgvshell.cpp 1.77
M +3 -0 kgvshell.h 1.28
--- kdegraphics/kghostview/kgvshell.cpp #1.76:1.77
@@ -120,4 +120,5 @@ KGVShell::KGVShell() :
connect( m_gvpart->pageView(), SIGNAL( rightClick() ),SLOT( slotRMBClick() ) );
connect( m_gvpart, SIGNAL( canceled(const QString&) ),SLOT( slotReset() ) );
+ mFitTimer = new QTimer( this );
if (!initialGeometrySet())
@@ -282,4 +283,5 @@ void KGVShell::slotFileOpen()
void KGVShell::slotFitToPage()
{
+ kdDebug(4500) << "KGVShell::slotFitToPage()" << endl;
if( m_gvpart->pageView()->page() )
m_gvpart->miniWidget()->fitWidth( m_gvpart->pageView()->viewport()->width() - 16 );
@@ -290,5 +292,15 @@ void KGVShell::slotFitToPage()
void KGVShell::slotFitToScreen()
{
- disconnect( 0, 0, this, SLOT( slotFitToPage() ) );
+ kdDebug(4500) << "KGVShell::slotFitToScreen()" << endl;
+ if ( mFitTimer->isActive() ) {
+ disconnect( mFitTimer, SIGNAL( timeout() ), this, 0 );
+ connect( mFitTimer, SIGNAL( timeout() ), SLOT( slotDoFitToScreen() ) );
+ }
+ else slotDoFitToScreen();
+}
+
+void KGVShell::slotDoFitToScreen()
+{
+ kdDebug(4500) << "KGVShell::slotDoFitToScreen()" << endl;
if( m_gvpart->pageView()->page() )
m_gvpart->miniWidget()->fitWidthHeight( m_gvpart->pageView()->viewport()->width() - 16,
@@ -298,8 +310,11 @@ void KGVShell::slotFitToScreen()
void KGVShell::slotMaximize()
{
+ kdDebug(4500) << "KGVShell::slotMaximize()" << endl;
KWin::setState( winId(), NET::MaxHoriz | NET::MaxVert );
// If we do it now, it comes to nothing since it would work
// on the current (non-maximized) size
- QTimer::singleShot( 1000, this, SLOT( slotFitToPage() ) );
+ disconnect( mFitTimer, SIGNAL( timeout() ), this, 0 );
+ connect( mFitTimer, SIGNAL( timeout() ), SLOT( slotFitToPage() ) );
+ mFitTimer->start( 800, true );
}
--- kdegraphics/kghostview/kgvshell.h #1.27:1.28
@@ -56,4 +56,5 @@ protected slots:
void slotFitToPage();
void slotFitToScreen();
+ void slotDoFitToScreen();
void slotMaximize();
void slotResize();
@@ -78,4 +79,6 @@ private:
QString cwd;
bool m_isFullScreen;
+
+ QTimer* mFitTimer;
KAction* openact;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic