2004-06-21 16:25:24 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2004 Lubos Lunak <l.lunak@kde.org>
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __RULESWIDGET_H__
|
|
|
|
#define __RULESWIDGET_H__
|
|
|
|
|
|
|
|
#include <kdialogbase.h>
|
|
|
|
|
|
|
|
#include "ruleswidgetbase.h"
|
|
|
|
|
|
|
|
namespace KWinInternal
|
|
|
|
{
|
|
|
|
|
|
|
|
class Rules;
|
2004-06-22 16:31:57 +00:00
|
|
|
class DetectDialog;
|
2004-06-21 16:25:24 +00:00
|
|
|
|
|
|
|
class RulesWidget
|
|
|
|
: public RulesWidgetBase
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
RulesWidget( QWidget* parent = NULL, const char* name = NULL );
|
|
|
|
void setRules( Rules* r );
|
|
|
|
Rules* rules() const;
|
2004-06-28 14:28:11 +00:00
|
|
|
bool finalCheck();
|
2004-07-29 17:08:25 +00:00
|
|
|
bool setWindow( WId w );
|
2004-06-21 16:25:24 +00:00
|
|
|
signals:
|
|
|
|
void changed( bool state );
|
2004-06-22 16:31:57 +00:00
|
|
|
protected slots:
|
|
|
|
virtual void detectClicked();
|
2004-06-25 11:28:17 +00:00
|
|
|
virtual void wmclassMatchChanged();
|
|
|
|
virtual void roleMatchChanged();
|
|
|
|
virtual void titleMatchChanged();
|
|
|
|
virtual void extraMatchChanged();
|
|
|
|
virtual void machineMatchChanged();
|
2004-06-21 16:25:24 +00:00
|
|
|
private slots:
|
|
|
|
// geometry tab
|
|
|
|
void updateEnableposition();
|
|
|
|
void updateEnablesize();
|
|
|
|
void updateEnabledesktop();
|
|
|
|
void updateEnablemaximizehoriz();
|
|
|
|
void updateEnablemaximizevert();
|
|
|
|
void updateEnableminimize();
|
|
|
|
void updateEnableshade();
|
|
|
|
void updateEnablefullscreen();
|
|
|
|
void updateEnableplacement();
|
|
|
|
// preferences tab
|
|
|
|
void updateEnableabove();
|
|
|
|
void updateEnablebelow();
|
|
|
|
void updateEnablenoborder();
|
|
|
|
void updateEnableskiptaskbar();
|
|
|
|
void updateEnableskippager();
|
|
|
|
void updateEnableacceptfocus();
|
|
|
|
void updateEnablecloseable();
|
|
|
|
// workarounds tab
|
|
|
|
void updateEnablefsplevel();
|
|
|
|
void updateEnablemoveresizemode();
|
|
|
|
void updateEnabletype();
|
|
|
|
void updateEnableignoreposition();
|
|
|
|
void updateEnableminsize();
|
|
|
|
void updateEnablemaxsize();
|
2004-06-22 16:31:57 +00:00
|
|
|
// internal
|
|
|
|
void detected( bool );
|
|
|
|
private:
|
2004-10-12 15:08:31 +00:00
|
|
|
int desktopToCombo( int d ) const;
|
|
|
|
int comboToDesktop( int val ) const;
|
2004-06-22 16:31:57 +00:00
|
|
|
DetectDialog* detect_dlg;
|
2004-07-29 17:08:25 +00:00
|
|
|
bool detect_dlg_ok;
|
2004-06-21 16:25:24 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
class RulesDialog
|
|
|
|
: public KDialogBase
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
RulesDialog( QWidget* parent = NULL, const char* name = NULL );
|
2004-07-29 17:08:25 +00:00
|
|
|
Rules* edit( Rules* r, WId w = 0 );
|
2004-06-21 16:25:24 +00:00
|
|
|
protected:
|
|
|
|
virtual void accept();
|
|
|
|
private:
|
|
|
|
RulesWidget* widget;
|
|
|
|
Rules* rules;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace
|
|
|
|
|
|
|
|
#endif
|