IDE: Accessing main settings outside of ScIDE::Main class

[email protected]
Newsgroups gmane.comp.audio.supercollider.devel
Message-ID <[email protected]>
I think part of the problem in issue #3287 [1] is that HelpBrowserDocklet::onInterpreterStart() uses the window's state to decide what to do about opening the help system, rather than using the IDE's persisted settings... if so, then the solution would be to use the persisted settings here instead.

But it seems to be tricky. Here's the part in MainWindow::restoreWindowState() that accesses the settings:

void MainWindow::restoreWindowState( T * settings )
{
    qDebug("------------ restore window state ------------");

    settings->beginGroup("mainWindow");
    QVariant varGeom = settings->value("geometry");
    QVariant varState = settings->value("state");
    QVariant varDetached = settings->value("detached");
    settings->endGroup();

    QByteArray geom = QByteArray::fromBase64( varGeom.value<QByteArray>() );
    QByteArray state = QByteArray::fromBase64( varState.value<QByteArray>() );
    QVariantMap detachedData = varDetached.value<QVariantMap>();
...
}

Presumably, in onInterpreterStart(), I need a "Settings::Manager *settings = ... something..." but I have no idea what that "something" should be. "main.hpp" has:

public:
    static Main * instance(void) ... blah blah...
    ... blah blah...
    static Settings::Manager *settings()       { return instance()->mSettings;       }

But "ScIDE::Main::settings()" produces:

In file included from /home/dlm/share/supercollider/editors/sc-ide/widgets/main_window.cpp:33:0:
/home/dlm/share/supercollider/editors/sc-ide/widgets/help_browser.hpp: In member function ‘void ScIDE::HelpBrowserDocklet::onInterpreterStart()’:
/home/dlm/share/supercollider/editors/sc-ide/widgets/help_browser.hpp:170:37: error: incomplete type ‘ScIDE::Main’ used in nested name specifier
       Settings::Manager *settings = ScIDE::Main::settings();

Help...?

hjh

[1] https://github.com/supercollider/supercollider/issues/3287


_______________________________________________
sc-dev mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-dev/
search: http://www.listarc.bham.ac.uk/lists/sc-dev/search/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.