Browse Source

sofd tweaks and implement button options

Signed-off-by: falkTX <falktx@falktx.com>
pull/324/head
falkTX 4 years ago
parent
commit
f618b33772
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
4 changed files with 14 additions and 10 deletions
  1. +1
    -1
      dgl/Window.hpp
  2. +9
    -3
      dgl/src/WindowPrivateData.cpp
  3. +3
    -5
      dgl/src/pugl.cpp
  4. +1
    -1
      dgl/src/sofd/libsofd.c

+ 1
- 1
dgl/Window.hpp View File

@@ -87,7 +87,7 @@ public:
Buttons()
: listAllFiles(kButtonVisibleChecked),
showHidden(kButtonVisibleUnchecked),
showPlaces(kButtonVisibleUnchecked) {}
showPlaces(kButtonVisibleChecked) {}
} buttons;

/** Constructor for default values */


+ 9
- 3
dgl/src/WindowPrivateData.cpp View File

@@ -459,19 +459,19 @@ bool Window::PrivateData::openFileBrowser(const Window::FileBrowserOptions& opti
if (startDir.isEmpty())
{
// TESTING verify this whole thing...
#ifdef DISTRHO_OS_WINDOWS
# ifdef DISTRHO_OS_WINDOWS
if (char* const cwd = _getcwd(nullptr, 0))
{
startDir = cwd;
std::free(cwd);
}
#else
# else
if (char* const cwd = getcwd(nullptr, 0))
{
startDir = cwd;
std::free(cwd);
}
#endif
# endif
}

DISTRHO_SAFE_ASSERT_RETURN(startDir.isNotEmpty(), false);
@@ -497,14 +497,17 @@ bool Window::PrivateData::openFileBrowser(const Window::FileBrowserOptions& opti

# ifdef DISTRHO_OS_MAC
uint flags = 0x0;

if (options.buttons.listAllFiles == FileBrowserOptions::kButtonVisibleChecked)
flags |= 0x001;
else if (options.buttons.listAllFiles == FileBrowserOptions::kButtonVisibleUnchecked)
flags |= 0x002;

if (options.buttons.showHidden == FileBrowserOptions::kButtonVisibleChecked)
flags |= 0x010;
else if (options.buttons.showHidden == FileBrowserOptions::kButtonVisibleUnchecked)
flags |= 0x020;

if (options.buttons.showPlaces == FileBrowserOptions::kButtonVisibleChecked)
flags |= 0x100;
else if (options.buttons.showPlaces == FileBrowserOptions::kButtonVisibleUnchecked)
@@ -564,14 +567,17 @@ bool Window::PrivateData::openFileBrowser(const Window::FileBrowserOptions& opti

# ifdef HAVE_X11
uint flags = 0x0;

if (options.buttons.listAllFiles == FileBrowserOptions::kButtonVisibleChecked)
flags |= 0x001;
else if (options.buttons.listAllFiles == FileBrowserOptions::kButtonVisibleUnchecked)
flags |= 0x002;

if (options.buttons.showHidden == FileBrowserOptions::kButtonVisibleChecked)
flags |= 0x010;
else if (options.buttons.showHidden == FileBrowserOptions::kButtonVisibleUnchecked)
flags |= 0x020;

if (options.buttons.showPlaces == FileBrowserOptions::kButtonVisibleChecked)
flags |= 0x100;
else if (options.buttons.showPlaces == FileBrowserOptions::kButtonVisibleUnchecked)


+ 3
- 5
dgl/src/pugl.cpp View File

@@ -642,11 +642,9 @@ bool sofdFileDialogShow(PuglView* const view,
DISTRHO_SAFE_ASSERT_RETURN(x_fib_configure(0, startDir) == 0, false);
DISTRHO_SAFE_ASSERT_RETURN(x_fib_configure(1, title) == 0, false);

/*
x_fib_cfg_buttons(3, options.buttons.listAllFiles-1);
x_fib_cfg_buttons(1, options.buttons.showHidden-1);
x_fib_cfg_buttons(2, options.buttons.showPlaces-1);
*/
x_fib_cfg_buttons(3, flags & 0x001 ? 1 : flags & 0x002 ? 0 : -1);
x_fib_cfg_buttons(1, flags & 0x010 ? 1 : flags & 0x020 ? 0 : -1);
x_fib_cfg_buttons(2, flags & 0x100 ? 1 : flags & 0x200 ? 0 : -1);

return (x_fib_show(sofd_display, view->impl->win, 0, 0, scaleFactor + 0.5) == 0);
}


+ 1
- 1
dgl/src/sofd/libsofd.c View File

@@ -2072,7 +2072,7 @@ int x_fib_show (Display *dpy, Window parent, int x, int y, double scalefactor) {
sync_button_states () ;

_fib_height = _fib_font_vsep * 15.8 * (1.0 + (scalefactor - 1.0) / 2.0);
_fib_width = MAX (_btn_span, 440 * scalefactor);
_fib_width = MAX (_btn_span, 480 * scalefactor);

XResizeWindow (dpy, _fib_win, _fib_width, _fib_height);



Loading…
Cancel
Save