Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 44442
b: refs/heads/master
c: 3b354c5
h: refs/heads/master
v: v3
  • Loading branch information
Karsten Wiese authored and Linus Torvalds committed Dec 13, 2006
1 parent 3452768 commit cba7e81
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bfc10001b11e51b59ac901d17c5f05361bd2351d
refs/heads/master: 3b354c557c7a6fcac099b3a20b308853fe596183
12 changes: 11 additions & 1 deletion trunk/scripts/kconfig/confdata.c
Original file line number Diff line number Diff line change
Expand Up @@ -767,18 +767,28 @@ int conf_write_autoconf(void)
}

static int sym_change_count;
static void (*conf_changed_callback)(void);

void sym_set_change_count(int count)
{
int _sym_change_count = sym_change_count;
sym_change_count = count;
if (conf_changed_callback &&
(bool)_sym_change_count != (bool)count)
conf_changed_callback();
}

void sym_add_change_count(int count)
{
sym_change_count += count;
sym_set_change_count(count + sym_change_count);
}

bool conf_get_changed(void)
{
return sym_change_count;
}

void conf_set_changed_callback(void (*fn)(void))
{
conf_changed_callback = fn;
}
1 change: 1 addition & 0 deletions trunk/scripts/kconfig/lkc_proto.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ P(conf_read_simple,int,(const char *name, int));
P(conf_write,int,(const char *name));
P(conf_write_autoconf,int,(void));
P(conf_get_changed,bool,(void));
P(conf_set_changed_callback, void,(void (*fn)(void)));

/* menu.c */
P(rootmenu,struct menu,);
Expand Down
13 changes: 12 additions & 1 deletion trunk/scripts/kconfig/qconf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
static QApplication *configApp;
static ConfigSettings *configSettings;

QAction *ConfigMainWindow::saveAction;

static inline QString qgettext(const char* str)
{
return QString::fromLocal8Bit(gettext(str));
Expand Down Expand Up @@ -1306,8 +1308,11 @@ ConfigMainWindow::ConfigMainWindow(void)
connect(quitAction, SIGNAL(activated()), SLOT(close()));
QAction *loadAction = new QAction("Load", QPixmap(xpm_load), "&Load", CTRL+Key_L, this);
connect(loadAction, SIGNAL(activated()), SLOT(loadConfig()));
QAction *saveAction = new QAction("Save", QPixmap(xpm_save), "&Save", CTRL+Key_S, this);
saveAction = new QAction("Save", QPixmap(xpm_save), "&Save", CTRL+Key_S, this);
connect(saveAction, SIGNAL(activated()), SLOT(saveConfig()));
conf_set_changed_callback(conf_changed);
// Set saveAction's initial state
conf_changed();
QAction *saveAsAction = new QAction("Save As...", "Save &As...", 0, this);
connect(saveAsAction, SIGNAL(activated()), SLOT(saveConfigAs()));
QAction *searchAction = new QAction("Search", "&Search", CTRL+Key_F, this);
Expand Down Expand Up @@ -1658,6 +1663,12 @@ void ConfigMainWindow::saveSettings(void)
configSettings->writeSizes("/split2", split2->sizes());
}

void ConfigMainWindow::conf_changed(void)
{
if (saveAction)
saveAction->setEnabled(conf_get_changed());
}

void fixup_rootmenu(struct menu *menu)
{
struct menu *child;
Expand Down
3 changes: 3 additions & 0 deletions trunk/scripts/kconfig/qconf.h
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,9 @@ public slots:

class ConfigMainWindow : public QMainWindow {
Q_OBJECT

static QAction *saveAction;
static void conf_changed(void);
public:
ConfigMainWindow(void);
public slots:
Expand Down

0 comments on commit cba7e81

Please sign in to comment.