summaryrefslogtreecommitdiffstats
path: root/kmdi/kmdichildfrmcaption.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kmdi/kmdichildfrmcaption.cpp')
-rw-r--r--kmdi/kmdichildfrmcaption.cpp322
1 files changed, 0 insertions, 322 deletions
diff --git a/kmdi/kmdichildfrmcaption.cpp b/kmdi/kmdichildfrmcaption.cpp
deleted file mode 100644
index 9ebbefb34..000000000
--- a/kmdi/kmdichildfrmcaption.cpp
+++ /dev/null
@@ -1,322 +0,0 @@
-//----------------------------------------------------------------------------
-// filename : kmdichildfrmcaption.cpp
-//----------------------------------------------------------------------------
-// Project : KDE MDI extension
-//
-// begin : 07/1999 by Szymon Stefanek as part of kvirc
-// (an IRC application)
-// changes : 09/1999 by Falk Brettschneider to create an
-// - 06/2000 stand-alone Qt extension set of
-// classes and a Qt-based library
-// 2000-2003 maintained by the KDevelop project
-//
-// copyright : (C) 1999-2003 by Szymon Stefanek (stefanek@tin.it)
-// and
-// Falk Brettschneider
-// email : falkbr@tdevelop.org (Falk Brettschneider)
-//----------------------------------------------------------------------------
-//
-//----------------------------------------------------------------------------
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU Library General Public License as
-// published by the Free Software Foundation; either version 2 of the
-// License, or (at your option) any later version.
-//
-//----------------------------------------------------------------------------
-
-#include "kmdichildfrmcaption.h"
-#include "kmdichildfrmcaption.moc"
-
-#include <tqpainter.h>
-#include <tqapplication.h>
-#include <tqcursor.h>
-#include <tqtoolbutton.h>
-#include <tqpopupmenu.h>
-
-#include "kmdidefines.h"
-#include "kmdichildfrm.h"
-#include "kmdichildarea.h"
-#include "kmdimainfrm.h"
-#include <klocale.h>
-#include <iostream>
-
-#ifdef Q_WS_WIN
-//TODO: one day gradient can be added for win98/winnt5+
-// ask system properties on windows
-#ifndef SPI_GETGRADIENTCAPTIONS
-# define SPI_GETGRADIENTCAPTIONS 0x1008
-#endif
-#ifndef COLOR_GRADIENTACTIVECAPTION
-# define COLOR_GRADIENTACTIVECAPTION 27
-#endif
-#ifndef COLOR_GRADIENTINACTIVECAPTION
-# define COLOR_GRADIENTINACTIVECAPTION 28
-#endif
-#endif
-//#endif
-
-//////////////////////////////////////////////////////////////////////////////
-// Class : KMdiChildFrmCaption
-// Purpose : An MDI label that draws the title
-//
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//============== KMdiChildFrmCaption =============//
-
-KMdiChildFrmCaption::KMdiChildFrmCaption( KMdiChildFrm *parent )
- : TQWidget( parent, "kmdi_childfrmcaption" )
-{
- m_szCaption = i18n( "Unnamed" );
- m_bActive = false;
- m_pParent = parent;
- setBackgroundMode( NoBackground );
- setFocusPolicy( TQ_NoFocus );
- m_bChildInDrag = false;
-}
-
-//============== ~KMdiChildFrmCaption =============//
-
-KMdiChildFrmCaption::~KMdiChildFrmCaption()
-{}
-
-//============= mousePressEvent ==============//
-
-void KMdiChildFrmCaption::mousePressEvent( TQMouseEvent *e )
-{
- if ( e->button() == Qt::LeftButton )
- {
- setMouseTracking( false );
- if ( KMdiMainFrm::frameDecorOfAttachedViews() != KMdi::Win95Look )
- {
- TQApplication::setOverrideCursor( tqsizeAllCursor, true );
- }
- m_pParent->m_bDragging = true;
- m_offset = mapToParent( e->pos() );
- }
- else if ( e->button() == Qt::RightButton )
- {
- m_pParent->systemMenu()->popup( mapToGlobal( e->pos() ) );
- }
-}
-
-//============= mouseReleaseEvent ============//
-
-void KMdiChildFrmCaption::mouseReleaseEvent( TQMouseEvent *e )
-{
- if ( e->button() == Qt::LeftButton )
- {
- if ( KMdiMainFrm::frameDecorOfAttachedViews() != KMdi::Win95Look )
- TQApplication::restoreOverrideCursor();
-
- releaseMouse();
- if ( m_pParent->m_bDragging )
- {
- m_pParent->m_bDragging = false;
- if ( m_bChildInDrag )
- {
- //notify child view
- KMdiChildFrmDragEndEvent ue( e );
- if ( m_pParent->m_pClient != 0L )
- TQApplication::sendEvent( m_pParent->m_pClient, &ue );
-
- m_bChildInDrag = false;
- }
- }
- }
-}
-
-//============== mouseMoveEvent =============//
-void KMdiChildFrmCaption::mouseMoveEvent( TQMouseEvent *e )
-{
- if ( !m_pParent->m_bDragging )
- return ;
-
- if ( !m_bChildInDrag )
- {
- //notify child view
- KMdiChildFrmDragBeginEvent ue( e );
- if ( m_pParent->m_pClient != 0L )
- TQApplication::sendEvent( m_pParent->m_pClient, &ue );
-
- m_bChildInDrag = true;
- }
-
- TQPoint relMousePosInChildArea = m_pParent->m_pManager->mapFromGlobal( e->globalPos() );
-
- // mouse out of child area? stop child frame dragging
- if ( !m_pParent->m_pManager->rect().contains( relMousePosInChildArea ) )
- {
- if ( relMousePosInChildArea.x() < 0 )
- relMousePosInChildArea.rx() = 0;
-
- if ( relMousePosInChildArea.y() < 0 )
- relMousePosInChildArea.ry() = 0;
-
- if ( relMousePosInChildArea.x() > m_pParent->m_pManager->width() )
- relMousePosInChildArea.rx() = m_pParent->m_pManager->width();
-
- if ( relMousePosInChildArea.y() > m_pParent->m_pManager->height() )
- relMousePosInChildArea.ry() = m_pParent->m_pManager->height();
- }
- TQPoint mousePosInChildArea = relMousePosInChildArea - m_offset;
-
- // set new child frame position
- parentWidget() ->move( mousePosInChildArea );
-}
-
-//=============== setActive ===============//
-
-void KMdiChildFrmCaption::setActive( bool bActive )
-{
- if ( m_bActive == bActive )
- return ;
-
- // Ensure the icon's pixmap has the correct bg color
- m_pParent->m_pWinIcon->setBackgroundColor( bActive ?
- m_pParent->m_pManager->m_captionActiveBackColor :
- m_pParent->m_pManager->m_captionInactiveBackColor );
- m_pParent->m_pUnixIcon->setBackgroundColor( bActive ?
- m_pParent->m_pManager->m_captionActiveBackColor :
- m_pParent->m_pManager->m_captionInactiveBackColor );
-
- m_bActive = bActive;
- repaint( false );
-}
-
-//=============== setCaption ===============//
-
-void KMdiChildFrmCaption::setCaption( const TQString& text )
-{
- m_szCaption = text;
- repaint( false );
-}
-
-//============== heightHint ===============//
-
-int KMdiChildFrmCaption::heightHint()
-{
- int hint = m_pParent->m_pManager->m_captionFontLineSpacing + 3;
- if ( KMdiMainFrm::frameDecorOfAttachedViews() == KMdi::Win95Look )
- {
- if ( hint < 18 )
- hint = 18;
- }
- else if ( KMdiMainFrm::frameDecorOfAttachedViews() == KMdi::KDE1Look )
- {
- if ( hint < 20 )
- hint = 20;
- }
- else if ( KMdiMainFrm::frameDecorOfAttachedViews() == KMdi::KDELook )
- {
- if ( hint < 16 )
- hint = 16;
- }
- else
- { // kde2laptop look
- hint -= 4;
- if ( hint < 14 )
- hint = 14;
- }
- return hint;
-}
-
-//=============== paintEvent ==============//
-
-void KMdiChildFrmCaption::paintEvent( TQPaintEvent * )
-{
- TQPainter p( this );
- TQRect r = rect();
- p.setFont( m_pParent->m_pManager->m_captionFont );
-
- if ( m_bActive )
- {
- p.fillRect( r, m_pParent->m_pManager->m_captionActiveBackColor );
- p.setPen( m_pParent->m_pManager->m_captionActiveForeColor );
- }
- else
- {
- p.fillRect( r, m_pParent->m_pManager->m_captionInactiveBackColor );
- p.setPen( m_pParent->m_pManager->m_captionInactiveForeColor );
- }
-
- //Shift the text after the icon
- if ( KMdiMainFrm::frameDecorOfAttachedViews() == KMdi::Win95Look )
- r.setLeft( r.left() + m_pParent->icon() ->width() + 3 );
- else if ( KMdiMainFrm::frameDecorOfAttachedViews() == KMdi::KDE1Look )
- r.setLeft( r.left() + 22 );
- else if ( KMdiMainFrm::frameDecorOfAttachedViews() == KMdi::KDELook )
- r.setLeft( r.left() + m_pParent->icon() ->width() + 3 );
- else // kde2laptop look
- r.setLeft( r.left() + 30 );
-
- int captionWidthForText = width() - 4 * m_pParent->m_pClose->width() - m_pParent->icon() ->width() - 5;
- TQString text = abbreviateText( m_szCaption, captionWidthForText );
- p.drawText( r, AlignVCenter | AlignLeft | SingleLine, text );
-
-}
-
-
-TQString KMdiChildFrmCaption::abbreviateText( TQString origStr, int maxWidth )
-{
- TQFontMetrics fm = fontMetrics();
- int actualWidth = fm.width( origStr );
-
- int realLetterCount = origStr.length();
- int newLetterCount;
-
- if ( actualWidth != 0 )
- newLetterCount = ( maxWidth * realLetterCount ) / actualWidth;
- else
- newLetterCount = realLetterCount; // should be 0 anyway
-
- int w = maxWidth + 1;
- TQString s = origStr;
-
- if ( newLetterCount <= 0 )
- s = "";
-
- while ( ( w > maxWidth ) && ( newLetterCount >= 1 ) )
- {
- if ( newLetterCount < realLetterCount )
- {
- if ( newLetterCount > 3 )
- s = origStr.left( newLetterCount / 2 ) + "..." + origStr.right( newLetterCount / 2 );
- else
- {
- if ( newLetterCount > 1 )
- s = origStr.left( newLetterCount ) + "..";
- else
- s = origStr.left( 1 );
- }
- }
- TQFontMetrics fm = fontMetrics();
- w = fm.width( s );
- newLetterCount--;
- }
- return s;
-}
-
-//============= mouseDoubleClickEvent ===========//
-
-void KMdiChildFrmCaption::mouseDoubleClickEvent( TQMouseEvent * )
-{
- m_pParent->maximizePressed();
-}
-
-//============= slot_moveViaSystemMenu ===========//
-
-void KMdiChildFrmCaption::slot_moveViaSystemMenu()
-{
- setMouseTracking( true );
- grabMouse();
-
- if ( KMdiMainFrm::frameDecorOfAttachedViews() != KMdi::Win95Look )
- TQApplication::setOverrideCursor( tqsizeAllCursor, true );
-
- m_pParent->m_bDragging = true;
- m_offset = mapFromGlobal( TQCursor::pos() );
-}
-
-// kate: space-indent off; replace-tabs off; indent-mode csands; tab-width 4;