diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2012-07-16 20:42:32 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2012-07-16 20:42:32 +0200 |
commit | 0d2a5ccadac5abf08a0fdc9c80be75dc4e4b5534 (patch) | |
tree | 3b0dfb8e8b723fc74fce42b399b73538a9b33b95 | |
parent | 10ea3185eeaf7c8859bef5044f5a224bf0cd3e3f (diff) | |
download | alpine-usb-creator-0d2a5ccadac5abf08a0fdc9c80be75dc4e4b5534.tar.bz2 alpine-usb-creator-0d2a5ccadac5abf08a0fdc9c80be75dc4e4b5534.tar.xz |
Enable start button only when source and target is selected
-rw-r--r-- | alpine-usb-creator.fbp | 6 | ||||
-rw-r--r-- | dialog.cpp | 26 | ||||
-rw-r--r-- | dialog.h | 4 |
3 files changed, 32 insertions, 4 deletions
diff --git a/alpine-usb-creator.fbp b/alpine-usb-creator.fbp index 3c388b7..673fc16 100644 --- a/alpine-usb-creator.fbp +++ b/alpine-usb-creator.fbp @@ -432,7 +432,7 @@ <event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
- <event name="OnFileChanged"></event>
+ <event name="OnFileChanged">OnIsoChange</event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
@@ -500,7 +500,7 @@ <property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
- <event name="OnChoice"></event>
+ <event name="OnChoice">OnTargetChange</event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
@@ -665,7 +665,7 @@ <property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default">0</property>
- <property name="enabled">1</property>
+ <property name="enabled">0</property>
<property name="fg"></property>
<property name="font"></property>
<property name="hidden">0</property>
@@ -33,11 +33,14 @@ void Dialog::RefreshDrives(void) m_target->Clear(); m_target->Append(wxT("~/tmp/alpine")); #endif + if (!m_target->IsEmpty()) + m_target->SetSelection(0); } void Dialog::OnRefreshDrives(wxCommandEvent &event) { RefreshDrives(); + UpdateStartButton(); } void Dialog::OnStartButton(wxCommandEvent &event) @@ -47,5 +50,26 @@ void Dialog::OnStartButton(wxCommandEvent &event) void Dialog::OnCancelButton(wxCommandEvent &event) { - Close(); + Close(); } + +void Dialog::UpdateStartButton(void) +{ + if ((m_target->GetSelection() != wxNOT_FOUND) + && wxFileExists(m_iso_picker->GetPath())) { + m_start_button->Enable(); + } else { + m_start_button->Disable(); + } +} + +void Dialog::OnIsoChange(wxFileDirPickerEvent &event) +{ + UpdateStartButton(); +} + +void Dialog::OnTargetChange(wxCommandEvent &event) +{ + UpdateStartButton(); +} + @@ -10,9 +10,13 @@ public: void RefreshDrives(void); protected: + void UpdateStartButton(void); + void OnRefreshDrives(wxCommandEvent& event); void OnStartButton(wxCommandEvent& event); void OnCancelButton(wxCommandEvent& event); + void OnIsoChange(wxFileDirPickerEvent &event); + void OnTargetChange(wxCommandEvent& event); }; #endif |