diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-07 21:50:33 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-07 21:50:33 -0600 |
commit | 0b6057404f65218182ab27a9483a21065ef61fca (patch) | |
tree | b8b06dfa2deb965bebfbe131a772124e3e693a96 /kwin/clients/laptop | |
parent | 43d99cc2477266cb9072e179137f0e8485370b3d (diff) | |
download | tdebase-0b6057404f65218182ab27a9483a21065ef61fca.tar.gz tdebase-0b6057404f65218182ab27a9483a21065ef61fca.zip |
Rename kwin to twin (Part 2 of 2)
Diffstat (limited to 'kwin/clients/laptop')
-rw-r--r-- | kwin/clients/laptop/CMakeLists.txt | 35 | ||||
-rw-r--r-- | kwin/clients/laptop/Makefile.am | 17 | ||||
-rw-r--r-- | kwin/clients/laptop/laptop.desktop | 69 | ||||
-rw-r--r-- | kwin/clients/laptop/laptopclient.cpp | 761 | ||||
-rw-r--r-- | kwin/clients/laptop/laptopclient.h | 76 |
5 files changed, 0 insertions, 958 deletions
diff --git a/kwin/clients/laptop/CMakeLists.txt b/kwin/clients/laptop/CMakeLists.txt deleted file mode 100644 index a06afdafc..000000000 --- a/kwin/clients/laptop/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -################################################# -# -# (C) 2010-2011 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/twin/lib - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} -) - - -##### other data ################################ - -install( FILES laptop.desktop DESTINATION ${DATA_INSTALL_DIR}/twin ) - - -##### twin3_laptop (module) ##################### - -tde_add_kpart( twin3_laptop AUTOMOC - SOURCES laptopclient.cpp - LINK tdecorations-shared - DESTINATION ${PLUGIN_INSTALL_DIR} -) diff --git a/kwin/clients/laptop/Makefile.am b/kwin/clients/laptop/Makefile.am deleted file mode 100644 index ccf1d359b..000000000 --- a/kwin/clients/laptop/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ - -INCLUDES = -I$(srcdir)/../../lib $(all_includes) - -kde_module_LTLIBRARIES = twin3_laptop.la - -twin3_laptop_la_SOURCES = laptopclient.cpp -twin3_laptop_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module -twin3_laptop_la_LIBADD = ../../lib/libtdecorations.la - -METASOURCES = AUTO -noinst_HEADERS = laptopclient.h - -lnkdir = $(kde_datadir)/twin -lnk_DATA = laptop.desktop - -EXTRA_DIST = $(lnk_DATA) - diff --git a/kwin/clients/laptop/laptop.desktop b/kwin/clients/laptop/laptop.desktop deleted file mode 100644 index 640637546..000000000 --- a/kwin/clients/laptop/laptop.desktop +++ /dev/null @@ -1,69 +0,0 @@ -[Desktop Entry] -Name=Laptop -Name[af]=Draagbare rekenaar -Name[ar]=الحاسوب النقّال -Name[az]=Dizüstü Kompüter -Name[be]=Ноўтбук -Name[bg]=Лаптоп -Name[bn]=ল্যাপটপ -Name[br]=Hezoug -Name[ca]=Portàtil -Name[cs]=Notebook -Name[cy]=Gluniadur -Name[da]=Bærbar -Name[el]=Φορητό -Name[eo]=Tekokomputilo -Name[es]=Portátil -Name[eu]=Ordenagailu eramangarria -Name[fa]=رایانۀ کیفی -Name[fi]=Kannettava -Name[fr]=Ordinateur portable -Name[fy]=Skoatkompjûter -Name[ga]=Ríomhaire Glúine -Name[gl]=Portátil -Name[he]=מחשב נייד -Name[hi]=लैपटॉप -Name[hsb]=laptop -Name[hu]=Noteszgép -Name[is]=Ferðavél -Name[it]=Portatile -Name[ja]=ラップトップ -Name[ka]=ლეპტოპი -Name[kk]=Ноутбук -Name[km]=កុំព្យូទ័រយួរដៃ -Name[ko]=랩탑 -Name[lo]=ແລບທອບ -Name[lt]=Nešiojamas kompiuteris -Name[lv]=Laptops -Name[mk]=Лаптоп -Name[mn]=Лаптоп -Name[ms]=Komputer riba -Name[nb]=Bærbar -Name[nds]=Klappreekner -Name[ne]=ल्यापटप -Name[nn]=Berbar -Name[oc]=Portatil -Name[pa]=ਲੈਪਟਾਪ -Name[pt]=Portátil -Name[ru]=Ноутбук -Name[rw]=Mudasobwa Igendanwa -Name[se]=Mátkedihtor -Name[sl]=Prenosnik -Name[sr]=Лаптоп -Name[sv]=Bärbar dator -Name[ta]=மடிக்கணினி -Name[te]=లాప్ టాప్ -Name[tg]=Ноутбук -Name[th]=แลปทอป -Name[tr]=Dizüstü -Name[tt]=Qulsanaq -Name[uk]=Мобільний комп'ютер (лептоп) -Name[uz@cyrillic]=Лаптоп -Name[ven]=Khomupwutha pfarwa -Name[vi]=Máy xách tay -Name[wa]=Poirtåve -Name[xh]=Umphezulu osongiweyo -Name[zh_CN]=笔记本电脑 -Name[zh_TW]=筆記型電腦 -Name[zu]=Ikhomputha ephathwayo eyisicaba -X-KDE-Library=twin3_laptop diff --git a/kwin/clients/laptop/laptopclient.cpp b/kwin/clients/laptop/laptopclient.cpp deleted file mode 100644 index db37feae6..000000000 --- a/kwin/clients/laptop/laptopclient.cpp +++ /dev/null @@ -1,761 +0,0 @@ -/* - * Laptop KWin Decoration - * - * Copyright (c) 2005 Sandro Giessl <sandro@giessl.com> - * Port of this decoration to KDE 3.2, accessibility enhancement are - * Copyright (c) 2003 Luciano Montanaro <mikelima@cirulla.net> - */ - -#include <kconfig.h> // up here to avoid X11 header conflict :P -#include "laptopclient.h" -#include <tqdrawutil.h> -#include <kpixmapeffect.h> -#include <kdrawutil.h> -#include <kglobal.h> -#include <klocale.h> -#include <tqbitmap.h> - -namespace Laptop { - -static const unsigned char iconify_bits[] = { - 0xff, 0xff, 0x00, 0xff, 0xff, 0x7e, 0x3c, 0x18}; - -static const unsigned char close_bits[] = { - 0x42, 0xe7, 0x7e, 0x3c, 0x3c, 0x7e, 0xe7, 0x42}; - -static const unsigned char maximize_bits[] = { - 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x00, 0xff, 0xff }; - -static const unsigned char r_minmax_bits[] = { - 0x0c, 0x18, 0x33, 0x67, 0xcf, 0x9f, 0x3f, 0x3f}; - -static const unsigned char l_minmax_bits[] = { - 0x30, 0x18, 0xcc, 0xe6, 0xf3, 0xf9, 0xfc, 0xfc}; - -static const unsigned char question_bits[] = { - 0x3c, 0x66, 0x60, 0x30, 0x18, 0x00, 0x18, 0x18}; - -static const unsigned char unsticky_bits[] = { - 0x3c, 0x42, 0x99, 0xbd, 0xbd, 0x99, 0x42, 0x3c}; - -static const unsigned char sticky_bits[] = { - 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c}; - -static TQPixmap *titlePix; -static KPixmap *aUpperGradient; -static KPixmap *iUpperGradient; -// buttons active, inactive, up, down, and 2 sizes :P -static KPixmap *btnPix1; -static KPixmap *iBtnPix1; -static KPixmap *btnDownPix1; -static KPixmap *iBtnDownPix1; -static KPixmap *btnPix2; -static KPixmap *btnDownPix2; -static KPixmap *iBtnPix2; -static KPixmap *iBtnDownPix2; -static TQColor btnForeground; - -static int titleHeight = 14; -static int btnWidth1 = 17; -static int btnWidth2 = 27; - -static int handleSize = 8; // the resize handle size in pixels - -static bool pixmaps_created = false; - -// ===================================== - -extern "C" KDE_EXPORT KDecorationFactory* create_factory() -{ - return new Laptop::LaptopClientFactory(); -} - -// ===================================== - -static inline const KDecorationOptions* options() -{ - return KDecoration::options(); -} - -static void drawButtonFrame(KPixmap *pix, const TQColorGroup &g, bool sunken) -{ - TQPainter p; - int w = pix->width(); - int h = pix->height(); - int x2 = w-1; - int y2 = h-1; - p.begin(pix); - - if(sunken){ - qDrawShadePanel(&p, 0, 0, w, h, g, true, 2); - } - else{ - p.setPen(g.dark()); - p.drawRect(0, 0, w-1, h-1); - p.setPen(g.light()); - p.drawLine(x2, 0, x2, y2); - p.drawLine(0, y2, x2, y2); - p.drawLine(1, 1, x2-2, 1); - p.drawLine(1, 1, 1, y2-2); - p.end(); - } -} - -static void create_pixmaps() -{ - if(pixmaps_created) - return; - pixmaps_created = true; - - titleHeight = TQFontMetrics(options()->font(true)).height() + 2; - if (titleHeight < handleSize) titleHeight = handleSize; - titleHeight &= ~1; // Make title height even - if (titleHeight < 14) titleHeight = 14; - - btnWidth1 = titleHeight + 3; - btnWidth2 = 3*titleHeight/2 + 6; - - // titlebar - TQPainter p; - TQPainter maskPainter; - int i, x, y; - titlePix = new TQPixmap(33, 12); - TQBitmap mask(33, 12); - mask.fill(Qt::color0); - - p.begin(titlePix); - maskPainter.begin(&mask); - maskPainter.setPen(Qt::color1); - for(i=0, y=2; i < 3; ++i, y+=4){ - for(x=1; x <= 33; x+=3){ - p.setPen(options()->color(KDecoration::ColorTitleBar, true).light(150)); - p.drawPoint(x, y); - maskPainter.drawPoint(x, y); - p.setPen(options()->color(KDecoration::ColorTitleBar, true).dark(150)); - p.drawPoint(x+1, y+1); - maskPainter.drawPoint(x+1, y+1); - } - } - p.end(); - maskPainter.end(); - titlePix->setMask(mask); - - if(TQPixmap::defaultDepth() > 8){ - aUpperGradient = new KPixmap; - aUpperGradient->resize(32, titleHeight+2); - iUpperGradient = new KPixmap; - iUpperGradient->resize(32, titleHeight+2); - TQColor bgColor = options()->color(KDecoration::ColorTitleBar, true); - KPixmapEffect::gradient(*aUpperGradient, - bgColor.light(120), - bgColor.dark(120), - KPixmapEffect::VerticalGradient); - bgColor = options()->color(KDecoration::ColorTitleBar, false); - KPixmapEffect::gradient(*iUpperGradient, - bgColor.light(120), - bgColor.dark(120), - KPixmapEffect::VerticalGradient); - } - // buttons (active/inactive, sunken/unsunken, 2 sizes each) - TQColorGroup g = options()->tqcolorGroup(KDecoration::ColorButtonBg, true); - TQColor c = g.background(); - btnPix1 = new KPixmap; - btnPix1->resize(btnWidth1, titleHeight); - btnDownPix1 = new KPixmap; - btnDownPix1->resize(btnWidth1, titleHeight); - btnPix2 = new KPixmap; - btnPix2->resize(btnWidth2, titleHeight); - btnDownPix2 = new KPixmap; - btnDownPix2->resize(btnWidth2, titleHeight); - iBtnPix1 = new KPixmap; - iBtnPix1->resize(btnWidth1, titleHeight); - iBtnDownPix1 = new KPixmap; - iBtnDownPix1->resize(btnWidth1, titleHeight); - iBtnPix2 = new KPixmap; - iBtnPix2->resize(btnWidth2, titleHeight); - iBtnDownPix2 = new KPixmap; - iBtnDownPix2->resize(btnWidth2, titleHeight); - if(TQPixmap::defaultDepth() > 8){ - KPixmapEffect::gradient(*btnPix1, c.light(120), c.dark(130), - KPixmapEffect::DiagonalGradient); - KPixmapEffect::gradient(*btnDownPix1, c.dark(130), c.light(120), - KPixmapEffect::DiagonalGradient); - KPixmapEffect::gradient(*btnPix2, c.light(120), c.dark(130), - KPixmapEffect::DiagonalGradient); - KPixmapEffect::gradient(*btnDownPix2, c.dark(130), c.light(120), - KPixmapEffect::DiagonalGradient); - g = options()->tqcolorGroup(KDecoration::ColorButtonBg, false); - c = g.background(); - KPixmapEffect::gradient(*iBtnPix1, c.light(120), c.dark(130), - KPixmapEffect::DiagonalGradient); - KPixmapEffect::gradient(*iBtnDownPix1, c.dark(130), c.light(120), - KPixmapEffect::DiagonalGradient); - KPixmapEffect::gradient(*iBtnPix2, c.light(120), c.dark(130), - KPixmapEffect::DiagonalGradient); - KPixmapEffect::gradient(*iBtnDownPix2, c.dark(130), c.light(120), - KPixmapEffect::DiagonalGradient); - } - else{ - btnPix1->fill(c.rgb()); - btnDownPix1->fill(c.rgb()); - btnPix2->fill(c.rgb()); - btnDownPix2->fill(c.rgb()); - g = options()->tqcolorGroup(KDecoration::ColorButtonBg, false); - c = g.background(); - iBtnPix1->fill(c.rgb()); - iBtnDownPix1->fill(c.rgb()); - iBtnPix2->fill(c.rgb()); - iBtnDownPix2->fill(c.rgb()); - } - g = options()->tqcolorGroup(KDecoration::ColorButtonBg, true); - c = g.background(); - drawButtonFrame(btnPix1, g, false); - drawButtonFrame(btnDownPix1, g, true); - drawButtonFrame(btnPix2, g, false); - drawButtonFrame(btnDownPix2, g, true); - g = options()->tqcolorGroup(KDecoration::ColorButtonBg, false); - c = g.background(); - drawButtonFrame(iBtnPix1, g, false); - drawButtonFrame(iBtnDownPix1, g, true); - drawButtonFrame(iBtnPix2, g, false); - drawButtonFrame(iBtnDownPix2, g, true); - - if(tqGray(options()->color(KDecoration::ColorButtonBg, true).rgb()) > 128) - btnForeground = Qt::black; - else - btnForeground = Qt::white; -} - -static void delete_pixmaps() -{ - delete titlePix; - if(aUpperGradient){ - delete aUpperGradient; - delete iUpperGradient; - delete btnPix1; - delete btnDownPix1; - delete iBtnPix1; - delete iBtnDownPix1; - delete btnPix2; - delete btnDownPix2; - delete iBtnPix2; - delete iBtnDownPix2; - } - pixmaps_created = false; -} - -// ===================================== - -LaptopButton::LaptopButton(ButtonType type, LaptopClient *parent, const char *name) - : KCommonDecorationButton(type, parent, name) -{ - setBackgroundMode(TQWidget::NoBackground); -} - -void LaptopButton::reset(unsigned long changed) -{ - if (changed&DecorationReset || changed&ManualReset || changed&SizeChange || changed&StateChange) { - switch (type() ) { - case CloseButton: - setBitmap(close_bits); - break; - case HelpButton: - setBitmap(question_bits); - break; - case MinButton: - setBitmap(iconify_bits); - break; - case MaxButton: - if (isOn() ) { - setBitmap(isLeft() ? l_minmax_bits : r_minmax_bits); - } else { - setBitmap(maximize_bits); - } - break; - case OnAllDesktopsButton: - setBitmap( isOn() ? unsticky_bits : sticky_bits ); - break; - default: - setBitmap(0); - break; - } - - this->update(); - } -} - -void LaptopButton::setBitmap(const unsigned char *bitmap) -{ - if (bitmap) - deco = TQBitmap(8, 8, bitmap, true); - else { - deco = TQBitmap(8,8); - deco.fill(Qt::color0); - } - deco.setMask(deco); - tqrepaint(); -} - -void LaptopButton::drawButton(TQPainter *p) -{ - bool smallBtn = width() == btnWidth1; - if(btnPix1){ - if(decoration()->isActive()){ - if(isDown()) - p->drawPixmap(0, 0, smallBtn ? *btnDownPix1 : *btnDownPix2); - else - p->drawPixmap(0, 0, smallBtn ? *btnPix1 : *btnPix2); - } - else{ - if(isDown()) - p->drawPixmap(0, 0, smallBtn ? *iBtnDownPix1 : *iBtnDownPix2); - else - p->drawPixmap(0, 0, smallBtn ? *iBtnPix1 : *iBtnPix2); - } - } - else{ - TQColorGroup g = options()->tqcolorGroup(KDecoration::ColorButtonBg, decoration()->isActive()); - int w = width(); - int h = height(); - p->fillRect(1, 1, w-2, h-2, isDown() ? g.mid() : g.button()); - p->setPen(isDown() ? g.dark() : g.light()); - p->drawLine(0, 0, w-1, 0); - p->drawLine(0, 0, 0, w-1); - p->setPen(isDown() ? g.light() : g.dark()); - p->drawLine(w-1, 0, w-1, h-1); - p->drawLine(0, h-1, w-1, h-1); - } - - p->setPen(btnForeground); - int xOff = (width()-8)/2; - int yOff = (height()-8)/2; - p->drawPixmap(isDown() ? xOff+1: xOff, isDown() ? yOff+1 : yOff, deco); -} - -// ===================================== - -void LaptopClient::reset(unsigned long changed) -{ - KCommonDecoration::reset(changed); -} - -LaptopClient::LaptopClient(KDecorationBridge *b, KDecorationFactory *f) - : KCommonDecoration(b, f) -{ -} - -LaptopClient::~LaptopClient() -{ -} - -TQString LaptopClient::visibleName() const -{ - return i18n("Laptop"); -} - -TQString LaptopClient::defaultButtonsLeft() const -{ - return "X"; -} - -TQString LaptopClient::defaultButtonsRight() const -{ - return "HSIA"; -} - -bool LaptopClient::decorationBehaviour(DecorationBehaviour behaviour) const -{ - switch (behaviour) { - case DB_MenuClose: - return false; - - case DB_WindowMask: - return true; - - case DB_ButtonHide: - return true; - - default: - return KCommonDecoration::decorationBehaviour(behaviour); - } -} - -int LaptopClient::layoutMetric(LayoutMetric lm, bool respectWindowState, const KCommonDecorationButton *btn) const -{ - switch (lm) { - case LM_TitleEdgeLeft: - case LM_TitleEdgeRight: - case LM_BorderLeft: - case LM_BorderRight: - return 4; - - case LM_BorderBottom: - return mustDrawHandle() ? handleSize : 4; - - case LM_TitleEdgeTop: - return 3; - - case LM_TitleEdgeBottom: - return 1; - - case LM_TitleBorderLeft: - case LM_TitleBorderRight: - return 0; - - case LM_ButtonWidth: - { - if (btn && (btn->type()==HelpButton||btn->type()==OnAllDesktopsButton) ) { - return btnWidth1; - } else { - return btnWidth2; - } - } - - case LM_ButtonHeight: - case LM_TitleHeight: - if (isToolWindow() ) - return titleHeight-2; - else - return titleHeight; - - case LM_ButtonSpacing: - return 0; - - case LM_ExplicitButtonSpacer: - return 0; - - default: - return KCommonDecoration::layoutMetric(lm, respectWindowState, btn); - } -} - -KCommonDecorationButton *LaptopClient::createButton(ButtonType type) -{ - switch (type) { - case OnAllDesktopsButton: - return new LaptopButton(OnAllDesktopsButton, this, "on_all_desktops"); - - case HelpButton: - return new LaptopButton(HelpButton, this, "help"); - - case MinButton: - return new LaptopButton(MinButton, this, "minimize"); - - case MaxButton: - return new LaptopButton(MaxButton, this, "maximize"); - - case CloseButton: - return new LaptopButton(CloseButton, this, "close"); - - default: - return 0; - } -} - -void LaptopClient::init() -{ - bufferDirty = true; - - KCommonDecoration::init(); -} - -void LaptopClient::captionChange() -{ - bufferDirty = true; - - KCommonDecoration::captionChange(); -} - -void LaptopClient::paintEvent( TQPaintEvent* ) -{ - TQPainter p(widget()); - TQColorGroup g = options()->tqcolorGroup(KDecoration::ColorFrame, isActive()); - - TQRect r(widget()->rect()); - p.setPen(Qt::black); - p.drawRect(r); - - // fill mid frame... - p.setPen(g.background() ); - p.drawLine(r.x()+2, r.y()+2, r.right()-2, r.y()+2); - p.drawLine(r.left()+2, r.y()+3, r.left()+2, r.bottom()-layoutMetric(LM_BorderBottom)+1 ); - p.drawLine(r.right()-2, r.y()+3, r.right()-2, r.bottom()-layoutMetric(LM_BorderBottom)+1 ); - p.drawLine(r.left()+3, r.y()+3, r.left()+3, r.y()+layoutMetric(LM_TitleEdgeTop)+layoutMetric(LM_TitleHeight)+layoutMetric(LM_TitleEdgeTop) ); - p.drawLine(r.right()-3, r.y()+3, r.right()-3, r.y()+layoutMetric(LM_TitleEdgeTop)+layoutMetric(LM_TitleHeight)+layoutMetric(LM_TitleEdgeTop) ); - if (!mustDrawHandle() ) - p.drawLine(r.left()+1, r.bottom()-2, r.right()-1, r.bottom()-2); - - // outer frame - p.setPen(g.light()); - p.drawLine(r.x()+1, r.y()+1, r.right()-1, r.y()+1); - p.drawLine(r.x()+1, r.y()+1, r.x()+1, r.bottom()-1); - p.setPen(g.dark()); - p.drawLine(r.right()-1, r.y()+1, r.right()-1, r.bottom()-1); - p.drawLine(r.x()+1, r.bottom()-1, r.right()-1, r.bottom()-1); - - int th = titleHeight; - int bb = handleSize + 2; // Bottom border - int bs = handleSize - 2; // inner size of bottom border - if (!mustDrawHandle()) { - bb = 6; - bs = 0; - } - if ( isToolWindow() ) - th -= 2; - - // inner rect - p.drawRect(r.x() + 3, r.y() + th + 3, r.width() - 6, r.height() - th - bb); - - // handles - if (mustDrawHandle()) { - if (r.width() > 3*handleSize + 20) { - int range = 8 + 3*handleSize/2; - qDrawShadePanel(&p, r.x() + 1, r.bottom() - bs, range, - handleSize - 2, g, false, 1, &g.brush(TQColorGroup::Mid)); - qDrawShadePanel(&p, r.x() + range + 1, r.bottom() - bs, - r.width() - 2*range - 2, handleSize - 2, g, false, 1, - isActive() ? &g.brush(TQColorGroup::Background) : - &g.brush(TQColorGroup::Mid)); - qDrawShadePanel(&p, r.right() - range, r.bottom() - bs, - range, bs, g, false, 1, &g.brush(TQColorGroup::Mid)); - } else { - qDrawShadePanel(&p, r.x() + 1, r.bottom() - bs, - r.width() - 2, bs, g, false, 1, - isActive() ? &g.brush(TQColorGroup::Background) : - &g.brush(TQColorGroup::Mid)); - } - } - - r = titleRect(); - - if(isActive()){ - updateActiveBuffer(); - p.drawPixmap(r.x(), r.y(), activeBuffer); - p.setPen(g.background()); - p.drawPoint(r.x(), r.y()); - p.drawPoint(r.right(), r.y()); - p.drawLine(r.right()+1, r.y(), r.right()+1, r.bottom()); - } - else{ - if(iUpperGradient) - p.drawTiledPixmap(r.x(), r.y(), r.width(), r.height()-1, - *iUpperGradient); - else - p.fillRect(r.x(), r.y(), r.width(), r.height()-1, - options()->color(KDecoration::ColorTitleBar, false)); - - p.setFont(options()->font(false, isToolWindow() )); - TQFontMetrics fm(options()->font(false)); - g = options()->tqcolorGroup(KDecoration::ColorTitleBar, false); - if(iUpperGradient) - p.drawTiledPixmap(r.x()+((r.width()-fm.width(caption()))/2)-4, - r.y(), fm.width(caption())+8, r.height()-1, - *iUpperGradient); - else - p.fillRect(r.x()+((r.width()-fm.width(caption()))/2)-4, r.y(), - fm.width(caption())+8, r.height()-1, - g.brush(TQColorGroup::Background)); - p.setPen(g.mid()); - p.drawLine(r.x(), r.y(), r.right(), r.y()); - p.drawLine(r.x(), r.y(), r.x(), r.bottom()); - p.setPen(g.button()); - p.drawLine(r.right(), r.y(), r.right(), r.bottom()); - p.drawLine(r.x(), r.bottom(), r.right(), r.bottom()); - p.setPen(options()->color(KDecoration::ColorFont, false)); - p.drawText(r.x(), r.y(), r.width(), r.height()-1, - AlignCenter, caption() ); - g = options()->tqcolorGroup(KDecoration::ColorFrame, true); - p.setPen(g.background()); - p.drawPoint(r.x(), r.y()); - p.drawPoint(r.right(), r.y()); - p.drawLine(r.right()+1, r.y(), r.right()+1, r.bottom()); - } -} - -TQRegion LaptopClient::cornerShape(WindowCorner corner) -{ - switch (corner) { - case WC_TopLeft: - return TQRect(0, 0, 1, 1); - - case WC_TopRight: - return TQRect(width()-1, 0, 1, 1); - - case WC_BottomLeft: - return TQRect(0, height()-1, 1, 1); - - case WC_BottomRight: - return TQRect(width()-1, height()-1, 1, 1); - - default: - return TQRegion(); - } - -} - -bool LaptopClient::mustDrawHandle() const -{ - bool drawSmallBorders = !options()->moveResizeMaximizedWindows(); - if (drawSmallBorders && (maximizeMode() & MaximizeVertical)) { - return false; - } else { - return isResizable(); - } -} - -void LaptopClient::updateActiveBuffer( ) -{ - TQRect rTitle = titleRect(); - if( !bufferDirty && (lastBufferWidth == rTitle.width())) - return; - if ( rTitle.width() <= 0 || rTitle.height() <= 0 ) - return; - lastBufferWidth = rTitle.width(); - bufferDirty = false; - - activeBuffer.resize(rTitle.width(), - rTitle.height()); - TQPainter p; - TQRect r(0, 0, activeBuffer.width(), activeBuffer.height()); - p.begin(&activeBuffer); - if(aUpperGradient){ - p.drawTiledPixmap(r, *aUpperGradient); - } - else{ - p.fillRect(r, options()->color(KDecoration::ColorTitleBar, true)); - } - if(titlePix) - p.drawTiledPixmap(r, *titlePix); - - p.setFont(options()->font(true, isToolWindow() )); - TQFontMetrics fm(options()->font(true)); - TQColorGroup g = options()->tqcolorGroup(KDecoration::ColorTitleBar, true); - if(aUpperGradient) - p.drawTiledPixmap(r.x()+((r.width()-fm.width(caption()))/2)-4, - r.y(), fm.width(caption())+8, r.height()-1, - *aUpperGradient); - else - p.fillRect(r.x()+((r.width()-fm.width(caption()))/2)-4, 0, - fm.width(caption())+8, r.height(), - g.brush(TQColorGroup::Background)); - p.setPen(g.mid()); - p.drawLine(r.x(), r.y(), r.right(), r.y()); - p.drawLine(r.x(), r.y(), r.x(), r.bottom()); - p.setPen(g.button()); - p.drawLine(r.right(), r.y(), r.right(), r.bottom()); - p.drawLine(r.x(), r.bottom(), r.right(), r.bottom()); - p.setPen(options()->color(KDecoration::ColorFont, true)); - p.drawText(r.x(), r.y(), r.width(), r.height()-1, - AlignCenter, caption() ); - g = options()->tqcolorGroup(KDecoration::ColorFrame, true); - p.setPen(g.background()); - p.drawPoint(r.x(), r.y()); - p.drawPoint(r.right(), r.y()); - p.drawLine(r.right()+1, r.y(), r.right()+1, r.bottom()); - p.end(); -} - -static const int SUPPORTED_WINDOW_TYPES_MASK = NET::NormalMask | - NET::DesktopMask | NET::DockMask | NET::ToolbarMask | NET::MenuMask | - NET::DialogMask | /*NET::OverrideMask |*/ NET::TopMenuMask | - NET::UtilityMask | NET::SplashMask; - -bool LaptopClient::isTransient() const -{ - NET::WindowType type = windowType(SUPPORTED_WINDOW_TYPES_MASK); - return type == NET::Dialog; -} - -// ===================================== - -LaptopClientFactory::LaptopClientFactory() -{ - create_pixmaps(); -} - -LaptopClientFactory::~LaptopClientFactory() -{ - delete_pixmaps(); -} - -KDecoration *LaptopClientFactory::createDecoration(KDecorationBridge *b) -{ - findPreferredHandleSize(); - return new Laptop::LaptopClient(b, this); -} - -bool LaptopClientFactory::reset(unsigned long changed) -{ - findPreferredHandleSize(); - - // TODO Do not recreate decorations if it is not needed. Look at - // ModernSystem for how to do that - Laptop::delete_pixmaps(); - Laptop::create_pixmaps(); - - bool needHardReset = true; - if (changed & SettingButtons) { - // handled by KCommonDecoration - needHardReset = false; - } - - if (needHardReset) { - return true; - } else { - resetDecorations(changed); - return false; - } -} - -bool LaptopClientFactory::supports( Ability ability ) -{ - switch( ability ) - { - case AbilityAnnounceButtons: - case AbilityButtonOnAllDesktops: - case AbilityButtonHelp: - case AbilityButtonMinimize: - case AbilityButtonMaximize: - case AbilityButtonClose: - return true; - default: - return false; - }; -} - -TQValueList< LaptopClientFactory::BorderSize > -LaptopClientFactory::borderSizes() const -{ - // the list must be sorted - return TQValueList< BorderSize >() << BorderNormal << BorderLarge << - BorderVeryLarge << BorderHuge << BorderVeryHuge << BorderOversized; -} - -void LaptopClientFactory::findPreferredHandleSize() -{ - switch (options()->preferredBorderSize(this)) { - case KDecoration::BorderLarge: - handleSize = 11; - break; - case KDecoration::BorderVeryLarge: - handleSize = 16; - break; - case KDecoration::BorderHuge: - handleSize = 24; - break; - case KDecoration::BorderVeryHuge: - handleSize = 32; - break; - case KDecoration::BorderOversized: - handleSize = 40; - break; - case KDecoration::BorderTiny: - case KDecoration::BorderNormal: - default: - handleSize = 8; - } -} - -} // Laptop namespace - -// vim: sw=4 diff --git a/kwin/clients/laptop/laptopclient.h b/kwin/clients/laptop/laptopclient.h deleted file mode 100644 index de6e742f6..000000000 --- a/kwin/clients/laptop/laptopclient.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Laptop KWin Client - * - * Copyright (c) 2005 Sandro Giessl <sandro@giessl.com> - * Ported to the trinity.2 API by Luciano Montanaro <mikelima@cirulla.net> - */ -#ifndef __KDECLIENT_H -#define __KDECLIENT_H - -#include <tqbitmap.h> -#include <kpixmap.h> -#include <kcommondecoration.h> -#include <kdecorationfactory.h> - -namespace Laptop { - -class LaptopClient; - -class LaptopButton : public KCommonDecorationButton -{ -public: - LaptopButton(ButtonType type, LaptopClient *parent, const char *name); - void setBitmap(const unsigned char *bitmap); - virtual void reset(unsigned long changed); - -protected: - virtual void drawButton(TQPainter *p); - TQBitmap deco; -}; - -class LaptopClient : public KCommonDecoration -{ -public: - LaptopClient( KDecorationBridge* b, KDecorationFactory* f ); - ~LaptopClient(); - - virtual TQString visibleName() const; - virtual TQString defaultButtonsLeft() const; - virtual TQString defaultButtonsRight() const; - virtual bool decorationBehaviour(DecorationBehaviour behaviour) const; - virtual int layoutMetric(LayoutMetric lm, bool respectWindowState = true, const KCommonDecorationButton * = 0) const; - virtual KCommonDecorationButton *createButton(ButtonType type); - - virtual TQRegion cornerShape(WindowCorner corner); - - void init(); -protected: - void paintEvent( TQPaintEvent* ); - void reset( unsigned long ); - void updateActiveBuffer(); - void captionChange(); -private: - bool mustDrawHandle() const; - bool isTransient() const; -private: - KPixmap activeBuffer; - int lastBufferWidth; - bool bufferDirty; -}; - -class LaptopClientFactory : public TQObject, public KDecorationFactory -{ -public: - LaptopClientFactory(); - virtual ~LaptopClientFactory(); - virtual KDecoration* createDecoration( KDecorationBridge* ); - virtual bool reset( unsigned long changed ); - virtual bool supports( Ability ability ); - virtual TQValueList< BorderSize > borderSizes() const; -private: - void findPreferredHandleSize(); -}; - -} - -#endif |