kwin/kcmkwin/kwinrules/ruleswidget.h
Luboš Luňák 36b64e3897 GUI for rules (=window specific settings). Have fun figuring out how it
works, because I haven't written any kind of docs for it yet, and
the most important button doesn't work yet either (yes, that one that
has it written on it). I just hope the GUI doesn't suck too much, because
I'm really bad at such things.

svn path=/trunk/kdebase/kwin/; revision=322524
2004-06-21 16:25:24 +00:00

86 lines
2.4 KiB
C++

/*
* 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;
class RulesWidget
: public RulesWidgetBase
{
Q_OBJECT
public:
RulesWidget( QWidget* parent = NULL, const char* name = NULL );
void setRules( Rules* r );
Rules* rules() const;
signals:
void changed( bool state );
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();
};
class RulesDialog
: public KDialogBase
{
Q_OBJECT
public:
RulesDialog( QWidget* parent = NULL, const char* name = NULL );
Rules* edit( Rules* r );
protected:
virtual void accept();
private:
RulesWidget* widget;
Rules* rules;
};
} // namespace
#endif