00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __KWINDOWCONFIG_H__
00023 #define __KWINDOWCONFIG_H__
00024
00025 #include <tqwidget.h>
00026 #include <kcmodule.h>
00027 #include <config.h>
00028
00029 class TQRadioButton;
00030 class TQCheckBox;
00031 class TQPushButton;
00032 class TQComboBox;
00033 class TQGroupBox;
00034 class TQLabel;
00035 class TQSlider;
00036 class TQButtonGroup;
00037 class TQSpinBox;
00038 class TQVButtonGroup;
00039
00040 class KColorButton;
00041 class KIntNumInput;
00042
00043 #define TRANSPARENT 0
00044 #define OPAQUE 1
00045
00046 #define CLICK_TO_FOCUS 0
00047 #define FOCUS_FOLLOW_MOUSE 1
00048
00049 #define TITLEBAR_PLAIN 0
00050 #define TITLEBAR_SHADED 1
00051
00052 #define RESIZE_TRANSPARENT 0
00053 #define RESIZE_OPAQUE 1
00054
00055 #define SMART_PLACEMENT 0
00056 #define MAXIMIZING_PLACEMENT 1
00057 #define CASCADE_PLACEMENT 2
00058 #define RANDOM_PLACEMENT 3
00059 #define CENTERED_PLACEMENT 4
00060 #define ZEROCORNERED_PLACEMENT 5
00061 #define INTERACTIVE_PLACEMENT 6
00062 #define MANUAL_PLACEMENT 7
00063
00064 #define CLICK_TO_FOCUS 0
00065 #define FOCUS_FOLLOWS_MOUSE 1
00066 #define FOCUS_UNDER_MOUSE 2
00067 #define FOCUS_STRICTLY_UNDER_MOUSE 3
00068
00069 class TQSpinBox;
00070
00071 class KFocusConfig : public KCModule
00072 {
00073 Q_OBJECT
00074 public:
00075 KFocusConfig( bool _standAlone, KConfig *_config, TQWidget *parent=0, const char* name=0 );
00076 ~KFocusConfig();
00077
00078 void load();
00079 void save();
00080 void defaults();
00081
00082 private slots:
00083 void setDelayFocusEnabled();
00084 void setAutoRaiseEnabled();
00085 void autoRaiseOnTog(bool);
00086 void delayFocusOnTog(bool);
00087 void clickRaiseOnTog(bool);
00088 void updateAltTabMode();
00089 void updateActiveMouseScreen();
00090 void changed() { emit KCModule::changed(true); }
00091
00092
00093 private:
00094
00095 int getFocus( void );
00096 int getAutoRaiseInterval( void );
00097 int getDelayFocusInterval( void );
00098
00099 void setFocus(int);
00100 void setAutoRaiseInterval(int);
00101 void setAutoRaise(bool);
00102 void setDelayFocusInterval(int);
00103 void setDelayFocus(bool);
00104 void setClickRaise(bool);
00105 void setSeparateScreenFocus(bool);
00106 void setActiveMouseScreen(bool);
00107 void setAltTabMode(bool);
00108 void setTraverseAll(bool);
00109 void setRollOverDesktops(bool);
00110 void setShowPopupinfo(bool);
00111
00112 TQButtonGroup *fcsBox;
00113 TQComboBox *focusCombo;
00114 TQCheckBox *autoRaiseOn;
00115 TQCheckBox *delayFocusOn;
00116 TQCheckBox *clickRaiseOn;
00117 KIntNumInput *autoRaise;
00118 KIntNumInput *delayFocus;
00119 TQCheckBox *separateScreenFocus;
00120 TQCheckBox *activeMouseScreen;
00121
00122 TQButtonGroup *kbdBox;
00123 TQCheckBox *altTabPopup;
00124 TQCheckBox *traverseAll;
00125 TQCheckBox *rollOverDesktops;
00126 TQCheckBox *showPopupinfo;
00127
00128 KConfig *config;
00129 bool standAlone;
00130 };
00131
00132 class KMovingConfig : public KCModule
00133 {
00134 Q_OBJECT
00135 public:
00136 KMovingConfig( bool _standAlone, KConfig *config, TQWidget *parent=0, const char* name=0 );
00137 ~KMovingConfig();
00138
00139 void load();
00140 void save();
00141 void defaults();
00142
00143 private slots:
00144 void setMinimizeAnim( bool );
00145 void setMinimizeAnimSpeed( int );
00146 void changed() { emit KCModule::changed(true); }
00147 void slotBrdrSnapChanged( int );
00148 void slotWndwSnapChanged( int );
00149
00150 private:
00151 int getMove( void );
00152 bool getMinimizeAnim( void );
00153 int getMinimizeAnimSpeed( void );
00154 int getResizeOpaque ( void );
00155 bool getGeometryTip( void );
00156 int getPlacement( void );
00157
00158 void setMove(int);
00159 void setResizeOpaque(int);
00160 void setGeometryTip(bool);
00161 void setPlacement(int);
00162 void setMoveResizeMaximized(bool);
00163
00164 TQButtonGroup *windowsBox;
00165 TQCheckBox *opaque;
00166 TQCheckBox *resizeOpaqueOn;
00167 TQCheckBox *geometryTipOn;
00168 TQCheckBox* minimizeAnimOn;
00169 TQSlider *minimizeAnimSlider;
00170 TQLabel *minimizeAnimSlowLabel, *minimizeAnimFastLabel;
00171 TQCheckBox *moveResizeMaximized;
00172
00173 TQComboBox *placementCombo;
00174
00175 KConfig *config;
00176 bool standAlone;
00177
00178 int getBorderSnapZone();
00179 void setBorderSnapZone( int );
00180 int getWindowSnapZone();
00181 void setWindowSnapZone( int );
00182
00183 TQVButtonGroup *MagicBox;
00184 KIntNumInput *BrdrSnap, *WndwSnap;
00185 TQCheckBox *OverlapSnap;
00186
00187 };
00188
00189 class KAdvancedConfig : public KCModule
00190 {
00191 Q_OBJECT
00192 public:
00193 KAdvancedConfig( bool _standAlone, KConfig *config, TQWidget *parent=0, const char* name=0 );
00194 ~KAdvancedConfig();
00195
00196 void load();
00197 void save();
00198 void defaults();
00199
00200 private slots:
00201 void shadeHoverChanged(bool);
00202
00203
00204 void setEBorders();
00205
00206 void changed() { emit KCModule::changed(true); }
00207
00208 private:
00209
00210 int getShadeHoverInterval (void );
00211 void setAnimateShade(bool);
00212 void setShadeHover(bool);
00213 void setShadeHoverInterval(int);
00214
00215 TQCheckBox *animateShade;
00216 TQButtonGroup *shBox;
00217 TQCheckBox *shadeHoverOn;
00218 KIntNumInput *shadeHover;
00219
00220 KConfig *config;
00221 bool standAlone;
00222
00223 int getElectricBorders( void );
00224 int getElectricBorderDelay();
00225 void setElectricBorders( int );
00226 void setElectricBorderDelay( int );
00227
00228 TQVButtonGroup *electricBox;
00229 TQRadioButton *active_disable;
00230 TQRadioButton *active_move;
00231 TQRadioButton *active_always;
00232 KIntNumInput *delays;
00233
00234 void setFocusStealing( int );
00235 void setHideUtilityWindowsForInactive( bool );
00236
00237 TQComboBox* focusStealing;
00238 TQCheckBox* hideUtilityWindowsForInactive;
00239 };
00240
00241 class KProcess;
00242 class KTranslucencyConfig : public KCModule
00243 {
00244 Q_OBJECT
00245 public:
00246 KTranslucencyConfig( bool _standAlone, KConfig *config, TQWidget *parent=0, const char* name=0 );
00247 ~KTranslucencyConfig();
00248
00249 void load();
00250 void save();
00251 void defaults();
00252
00253 private:
00254 TQCheckBox *useTranslucency;
00255 TQCheckBox *activeWindowTransparency;
00256 TQCheckBox *inactiveWindowTransparency;
00257 TQCheckBox *movingWindowTransparency;
00258 TQCheckBox *dockWindowTransparency;
00259 TQCheckBox *keepAboveAsActive;
00260 TQCheckBox *disableARGB;
00261 TQCheckBox *fadeInWindows;
00262 TQCheckBox *fadeOnOpacityChange;
00263 TQCheckBox *useShadows;
00264 TQCheckBox *removeShadowsOnResize;
00265 TQCheckBox *removeShadowsOnMove;
00266 TQGroupBox *sGroup;
00267 TQCheckBox *onlyDecoTranslucent;
00268
00269 KIntNumInput *activeWindowOpacity;
00270 KIntNumInput *inactiveWindowOpacity;
00271 KIntNumInput *movingWindowOpacity;
00272 KIntNumInput *dockWindowOpacity;
00273 KIntNumInput *dockWindowShadowSize;
00274 KIntNumInput *activeWindowShadowSize;
00275 KIntNumInput *inactiveWindowShadowSize;
00276 KIntNumInput *shadowTopOffset;
00277 KIntNumInput *shadowLeftOffset;
00278 KIntNumInput *fadeInSpeed;
00279 KIntNumInput *fadeOutSpeed;
00280 KColorButton *shadowColor;
00281 KConfig *config;
00282 bool standAlone;
00283 bool alphaActivated;
00284 bool resetKompmgr_;
00285 bool kompmgrAvailable();
00286 bool kompmgrAvailable_;
00287 KProcess *kompmgr;
00288
00289 private slots:
00290 void resetKompmgr();
00291 void showWarning(bool alphaActivated);
00292
00293 };
00294 #endif