UI design updates.
Got rid of visible separators, replaced them with HBox and VBox. Reworked profile add/edit window, now it looks prettier and organic.
This commit is contained in:
parent
5ca8299714
commit
061bfcaeb9
@ -130,7 +130,7 @@ func (m *MainWindow) Initialize() {
|
|||||||
m.vbox.PackStart(profile_and_launch_hbox, false, true, 5)
|
m.vbox.PackStart(profile_and_launch_hbox, false, true, 5)
|
||||||
|
|
||||||
// Separator
|
// Separator
|
||||||
sep := gtk.NewHSeparator()
|
sep := gtk.NewHBox(false, 0)
|
||||||
profile_and_launch_hbox.PackStart(sep, true, true, 5)
|
profile_and_launch_hbox.PackStart(sep, true, true, 5)
|
||||||
|
|
||||||
// Profile selection.
|
// Profile selection.
|
||||||
|
@ -176,7 +176,7 @@ func (o *OptionsDialog) initializeTabs() {
|
|||||||
|
|
||||||
// Buttons for saving and discarding changes.
|
// Buttons for saving and discarding changes.
|
||||||
buttons_hbox := gtk.NewHBox(false, 0)
|
buttons_hbox := gtk.NewHBox(false, 0)
|
||||||
sep := gtk.NewHSeparator()
|
sep := gtk.NewHBox(false, 0)
|
||||||
|
|
||||||
cancel_button := gtk.NewButtonWithLabel("Cancel")
|
cancel_button := gtk.NewButtonWithLabel("Cancel")
|
||||||
cancel_button.Clicked(o.closeOptionsDialogByCancel)
|
cancel_button.Clicked(o.closeOptionsDialogByCancel)
|
||||||
@ -223,7 +223,7 @@ func (o *OptionsDialog) initializeUrtTab() {
|
|||||||
urt_profiles_buttons_vbox.PackStart(button_edit, false, true, 5)
|
urt_profiles_buttons_vbox.PackStart(button_edit, false, true, 5)
|
||||||
|
|
||||||
// Spacer for profiles list buttons.
|
// Spacer for profiles list buttons.
|
||||||
sep := gtk.NewVSeparator()
|
sep := gtk.NewVBox(false, 0)
|
||||||
urt_profiles_buttons_vbox.PackStart(sep, true, true, 5)
|
urt_profiles_buttons_vbox.PackStart(sep, true, true, 5)
|
||||||
|
|
||||||
button_delete := gtk.NewButtonWithLabel("Delete")
|
button_delete := gtk.NewButtonWithLabel("Delete")
|
||||||
|
@ -27,8 +27,8 @@ import (
|
|||||||
type OptionsProfile struct {
|
type OptionsProfile struct {
|
||||||
// Window.
|
// Window.
|
||||||
window *gtk.Window
|
window *gtk.Window
|
||||||
// Main Vertical Box.
|
// Main table.
|
||||||
vbox *gtk.VBox
|
table *gtk.Table
|
||||||
// Profile name.
|
// Profile name.
|
||||||
profile_name *gtk.Entry
|
profile_name *gtk.Entry
|
||||||
// Binary path.
|
// Binary path.
|
||||||
@ -148,90 +148,85 @@ func (op *OptionsProfile) Initialize(update bool) {
|
|||||||
op.window.SetPosition(gtk.WIN_POS_CENTER)
|
op.window.SetPosition(gtk.WIN_POS_CENTER)
|
||||||
op.window.SetIcon(logo)
|
op.window.SetIcon(logo)
|
||||||
|
|
||||||
op.vbox = gtk.NewVBox(false, 0)
|
op.table = gtk.NewTable(6, 2, false)
|
||||||
|
op.table.SetRowSpacings(2)
|
||||||
|
|
||||||
// Profile name.
|
// Profile name.
|
||||||
profile_name_tooltip := "This how you will see profile on profiles lists."
|
profile_name_tooltip := "This how you will see profile on profiles lists."
|
||||||
pn_hbox := gtk.NewHBox(false, 0)
|
|
||||||
pn_label := gtk.NewLabel("Profile name:")
|
pn_label := gtk.NewLabel("Profile name:")
|
||||||
pn_label.SetTooltipText(profile_name_tooltip)
|
pn_label.SetTooltipText(profile_name_tooltip)
|
||||||
profile_name_sep := gtk.NewHSeparator()
|
pn_label.SetAlignment(0, 0)
|
||||||
profile_name_sep.SetTooltipText(profile_name_tooltip)
|
op.table.Attach(pn_label, 0, 1, 0, 1, gtk.FILL, gtk.SHRINK, 5, 5)
|
||||||
|
|
||||||
op.profile_name = gtk.NewEntry()
|
op.profile_name = gtk.NewEntry()
|
||||||
op.profile_name.SetTooltipText(profile_name_tooltip)
|
op.profile_name.SetTooltipText(profile_name_tooltip)
|
||||||
pn_hbox.PackStart(pn_label, false, true, 5)
|
op.table.Attach(op.profile_name, 1, 2, 0, 1, gtk.FILL, gtk.FILL, 5, 5)
|
||||||
pn_hbox.PackStart(profile_name_sep, true, true, 5)
|
|
||||||
pn_hbox.PackStart(op.profile_name, true, true, 5)
|
|
||||||
op.vbox.PackStart(pn_hbox, false, true, 5)
|
|
||||||
|
|
||||||
// Urban Terror version.
|
// Urban Terror version.
|
||||||
urt_version_tooltip := "Urban Terror version for which this profile applies."
|
urt_version_tooltip := "Urban Terror version for which this profile applies."
|
||||||
urt_version_hbox := gtk.NewHBox(false, 0)
|
|
||||||
urt_version_label := gtk.NewLabel("Urban Terror version:")
|
urt_version_label := gtk.NewLabel("Urban Terror version:")
|
||||||
urt_version_label.SetTooltipText(urt_version_tooltip)
|
urt_version_label.SetTooltipText(urt_version_tooltip)
|
||||||
urt_version_sep := gtk.NewHSeparator()
|
urt_version_label.SetAlignment(0, 0)
|
||||||
urt_version_sep.SetTooltipText(urt_version_tooltip)
|
op.table.Attach(urt_version_label, 0, 1, 1, 2, gtk.FILL, gtk.SHRINK, 5, 5)
|
||||||
|
|
||||||
op.urt_version_combo = gtk.NewComboBoxText()
|
op.urt_version_combo = gtk.NewComboBoxText()
|
||||||
op.urt_version_combo.SetTooltipText(urt_version_tooltip)
|
op.urt_version_combo.SetTooltipText(urt_version_tooltip)
|
||||||
op.urt_version_combo.AppendText("4.2.023")
|
op.urt_version_combo.AppendText("4.2.023")
|
||||||
op.urt_version_combo.AppendText("4.3.0")
|
op.urt_version_combo.AppendText("4.3.0")
|
||||||
op.urt_version_combo.AppendText("4.3.1")
|
op.urt_version_combo.AppendText("4.3.1")
|
||||||
op.urt_version_combo.SetActive(2)
|
op.urt_version_combo.SetActive(2)
|
||||||
urt_version_hbox.PackStart(urt_version_label, false, true, 5)
|
op.table.Attach(op.urt_version_combo, 1, 2, 1, 2, gtk.FILL, gtk.FILL, 5, 5)
|
||||||
urt_version_hbox.PackStart(urt_version_sep, true, true, 5)
|
|
||||||
urt_version_hbox.PackStart(op.urt_version_combo, true, true, 5)
|
|
||||||
op.vbox.PackStart(urt_version_hbox, false, true, 5)
|
|
||||||
|
|
||||||
// Urban Terror binary path.
|
// Urban Terror binary path.
|
||||||
select_binary_tooltip := "Urban Terror binary. Some checks will be executed, so make sure you have selected right binary:\n\nQuake3-UrT.i386 for linux-x86\nQuake3-UrT.x86_64 for linux-amd64\nQuake3-UrT.app for macOS"
|
select_binary_tooltip := "Urban Terror binary. Some checks will be executed, so make sure you have selected right binary:\n\nQuake3-UrT.i386 for linux-x86\nQuake3-UrT.x86_64 for linux-amd64\nQuake3-UrT.app for macOS"
|
||||||
binpath_hbox := gtk.NewHBox(false, 0)
|
binpath_hbox := gtk.NewHBox(false, 0)
|
||||||
binpath_label := gtk.NewLabel("Urban Terror binary:")
|
binpath_label := gtk.NewLabel("Urban Terror binary:")
|
||||||
binpath_label.SetTooltipText(select_binary_tooltip)
|
binpath_label.SetTooltipText(select_binary_tooltip)
|
||||||
binpath_sep := gtk.NewHSeparator()
|
binpath_label.SetAlignment(0, 0)
|
||||||
binpath_sep.SetTooltipText(select_binary_tooltip)
|
op.table.Attach(binpath_label, 0, 1, 2, 3, gtk.FILL, gtk.SHRINK, 5, 5)
|
||||||
|
|
||||||
op.binary_path = gtk.NewEntry()
|
op.binary_path = gtk.NewEntry()
|
||||||
op.binary_path.SetTooltipText(select_binary_tooltip)
|
op.binary_path.SetTooltipText(select_binary_tooltip)
|
||||||
button_select_binary := gtk.NewButtonWithLabel("Browse")
|
button_select_binary := gtk.NewButtonWithLabel("Browse")
|
||||||
button_select_binary.SetTooltipText(select_binary_tooltip)
|
button_select_binary.SetTooltipText(select_binary_tooltip)
|
||||||
button_select_binary.Clicked(op.browseForBinary)
|
button_select_binary.Clicked(op.browseForBinary)
|
||||||
binpath_hbox.PackStart(binpath_label, false, true, 5)
|
|
||||||
binpath_hbox.PackStart(binpath_sep, true, true, 5)
|
|
||||||
binpath_hbox.PackStart(op.binary_path, true, true, 5)
|
binpath_hbox.PackStart(op.binary_path, true, true, 5)
|
||||||
binpath_hbox.PackStart(button_select_binary, false, true, 5)
|
binpath_hbox.PackStart(button_select_binary, false, true, 5)
|
||||||
op.vbox.PackStart(binpath_hbox, false, true, 5)
|
op.table.Attach(binpath_hbox, 1, 2, 2, 3, gtk.FILL, gtk.FILL, 0, 0)
|
||||||
|
|
||||||
// Should we use additional X session?
|
// Should we use additional X session?
|
||||||
another_x_tooltip := "If this is checked, Urban Terror will be launched in another X session.\n\nThis could help if you're experiencing visual lag, glitches and FPS drops under compositing WMs, like Mutter and KWin."
|
another_x_tooltip := "If this is checked, Urban Terror will be launched in another X session.\n\nThis could help if you're experiencing visual lag, glitches and FPS drops under compositing WMs, like Mutter and KWin."
|
||||||
op.another_x_session = gtk.NewCheckButtonWithLabel("Start Urban Terror in another X session?")
|
another_x_label := gtk.NewLabel("Start Urban Terror in another X session?")
|
||||||
|
another_x_label.SetTooltipText(another_x_tooltip)
|
||||||
|
another_x_label.SetAlignment(0, 0)
|
||||||
|
op.table.Attach(another_x_label, 0, 1, 3, 4, gtk.FILL, gtk.SHRINK, 5, 5)
|
||||||
|
op.another_x_session = gtk.NewCheckButtonWithLabel("")
|
||||||
op.another_x_session.SetTooltipText(another_x_tooltip)
|
op.another_x_session.SetTooltipText(another_x_tooltip)
|
||||||
op.vbox.PackStart(op.another_x_session, false, true, 5)
|
// macOS and Windows can't do that :).
|
||||||
// macOS can't do that :).
|
|
||||||
if runtime.GOOS != "linux" {
|
if runtime.GOOS != "linux" {
|
||||||
op.another_x_session.SetSensitive(false)
|
op.another_x_session.SetSensitive(false)
|
||||||
}
|
}
|
||||||
|
op.table.Attach(op.another_x_session, 1, 2, 3, 4, gtk.FILL, gtk.FILL, 5, 5)
|
||||||
|
|
||||||
// Additional game parameters.
|
// Additional game parameters.
|
||||||
params_tooltip := "Additional parameters that will be passed to Urban Terror executable."
|
params_tooltip := "Additional parameters that will be passed to Urban Terror executable."
|
||||||
params_hbox := gtk.NewHBox(false, 0)
|
|
||||||
params_label := gtk.NewLabel("Additional parameters:")
|
params_label := gtk.NewLabel("Additional parameters:")
|
||||||
params_label.SetTooltipText(params_tooltip)
|
params_label.SetTooltipText(params_tooltip)
|
||||||
params_sep := gtk.NewHSeparator()
|
params_label.SetAlignment(0, 0)
|
||||||
params_sep.SetTooltipText(params_tooltip)
|
op.table.Attach(params_label, 0, 1, 4, 5, gtk.FILL, gtk.SHRINK, 5, 5)
|
||||||
|
|
||||||
op.additional_parameters = gtk.NewEntry()
|
op.additional_parameters = gtk.NewEntry()
|
||||||
op.additional_parameters.SetTooltipText(params_tooltip)
|
op.additional_parameters.SetTooltipText(params_tooltip)
|
||||||
params_hbox.PackStart(params_label, false, true, 5)
|
op.table.Attach(op.additional_parameters, 1, 2, 4, 5, gtk.FILL, gtk.FILL, 5, 5)
|
||||||
params_hbox.PackStart(params_sep, true, true, 5)
|
|
||||||
params_hbox.PackStart(op.additional_parameters, true, true, 5)
|
|
||||||
op.vbox.PackStart(params_hbox, false, true, 5)
|
|
||||||
|
|
||||||
// Vertical separator.
|
// Invisible thing.
|
||||||
vert_sep := gtk.NewVSeparator()
|
inv_label := gtk.NewLabel("")
|
||||||
op.vbox.PackStart(vert_sep, true, true, 5)
|
op.table.Attach(inv_label, 1, 2, 5, 6, gtk.EXPAND, gtk.FILL, 5, 5)
|
||||||
|
|
||||||
// The buttons.
|
// The buttons.
|
||||||
buttons_box := gtk.NewHBox(false, 0)
|
buttons_box := gtk.NewHBox(false, 0)
|
||||||
buttons_sep := gtk.NewHSeparator()
|
buttons_sep := gtk.NewHBox(false, 0)
|
||||||
|
|
||||||
cancel_button := gtk.NewButtonWithLabel("Cancel")
|
cancel_button := gtk.NewButtonWithLabel("Cancel")
|
||||||
cancel_button.SetTooltipText("Close without saving")
|
cancel_button.SetTooltipText("Close without saving")
|
||||||
@ -251,9 +246,14 @@ func (op *OptionsProfile) Initialize(update bool) {
|
|||||||
add_button.Clicked(op.saveProfile)
|
add_button.Clicked(op.saveProfile)
|
||||||
buttons_box.PackStart(add_button, false, true, 5)
|
buttons_box.PackStart(add_button, false, true, 5)
|
||||||
|
|
||||||
op.vbox.PackStart(buttons_box, false, true, 5)
|
vert_sep_box := gtk.NewVBox(false, 0)
|
||||||
|
|
||||||
op.window.Add(op.vbox)
|
vbox := gtk.NewVBox(false, 0)
|
||||||
|
vbox.PackStart(op.table, false, true, 5)
|
||||||
|
vbox.PackStart(vert_sep_box, true, true, 5)
|
||||||
|
vbox.PackStart(buttons_box, false, true, 5)
|
||||||
|
|
||||||
|
op.window.Add(vbox)
|
||||||
op.window.ShowAll()
|
op.window.ShowAll()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user