Updated TODO + workaround for the signal problem after logout

This commit is contained in:
emeric
2014-08-23 14:13:16 +02:00
parent f80f052d55
commit d018922847
5 changed files with 26 additions and 13 deletions
+7 -3
View File
@@ -28,15 +28,19 @@
- some early playback end spotted on flac files (windows chrome only?) - some early playback end spotted on flac files (windows chrome only?)
[UI] [UI]
- handle internationalization
- make a wizard on first connection (or make a default admin/admin account of the very first connection)
[Settings] [Settings]
- increase the menu's width - increase the menu's width
- logout users that are being changed (loss of admin admin rights), or make sure they are still admin when they make changes - logout users that are being changed (loss of admin admin rights), or make sure they are still admin when they make changes
- "signal not exposed" problem if a user logout and login again. bad resource destruction? - "signal not exposed" problem if a user logout and login again. bad resource destruction?
[admin/DB]
- Do not make the update start time field active when update perdiod is "Never"
- refresh the audio/video view when the database directories have been updated
[user/transcoding] [user/transcoding]
- Prefered codecs for audio/video? - Prefered codecs for audio/video?
[admin/Users]
- do not activate the update period/start time when 'admin' is checked
[admin/Database update]
- do not make the update start time field active when update perdiod is "Never"
- refresh the audio/video view when the database directories have been updated
[Audio] [Audio]
- Search patterns in the genre list - Search patterns in the genre list
+7 -3
View File
@@ -26,10 +26,14 @@ int main(int argc, char* argv[])
if (argc > 1) if (argc > 1)
configFile = boost::filesystem::path(argv[1]); configFile = boost::filesystem::path(argv[1]);
if ( !boost::filesystem::exists(configFile) if ( !boost::filesystem::exists(configFile))
|| !boost::filesystem::is_regular(configFile))
{ {
std::cerr << "Cannot open config file '" << configFile << "'" << std::endl; std::cerr << "Config file '" << configFile << "' does not exist!" << std::endl;
return EXIT_FAILURE;
}
else if (!boost::filesystem::is_regular(configFile))
{
std::cerr << "Config file '" << configFile << "' is not regular!" << std::endl;
return EXIT_FAILURE; return EXIT_FAILURE;
} }
+7 -3
View File
@@ -60,8 +60,7 @@ LmsApplication::handleAuthEvent(void)
if (_sessionData.getDatabaseHandler().getLogin().loggedIn()) if (_sessionData.getDatabaseHandler().getLogin().loggedIn())
{ {
if (_home == nullptr) { if (_home == nullptr) {
_home = new LmsHome(_sessionData ); _home = new LmsHome(_sessionData, root() );
root()->addWidget( _home );
} }
else else
std::cerr << "Already logged in??" << std::endl; std::cerr << "Already logged in??" << std::endl;
@@ -70,9 +69,14 @@ LmsApplication::handleAuthEvent(void)
{ {
std::cerr << "user log out" << std::endl; std::cerr << "user log out" << std::endl;
if (_home != nullptr) { if (_home != nullptr) {
std::cerr << "Deleting home pointer..." << std::endl;
delete _home; delete _home;
_home = nullptr; _home = nullptr;
// Hack: quit/redirect in order to avoid 'signal not exposed' problems
// TODO, investigate/remove?
quit();
redirect("/");
} }
else else
std::cerr << "Already logged out??" << std::endl; std::cerr << "Already logged out??" << std::endl;
+4 -3
View File
@@ -11,8 +11,9 @@
namespace UserInterface { namespace UserInterface {
LmsHome::LmsHome(SessionData& sessionData) LmsHome::LmsHome(SessionData& sessionData, Wt::WContainerWidget* parent)
: _sessionData(sessionData) : Wt::WContainerWidget(parent),
_sessionData(sessionData)
{ {
const Wt::Auth::User& user = sessionData.getDatabaseHandler().getLogin().user(); const Wt::Auth::User& user = sessionData.getDatabaseHandler().getLogin().user();
@@ -25,7 +26,7 @@ LmsHome::LmsHome(SessionData& sessionData)
Wt::WStackedWidget *contentsStack = new Wt::WStackedWidget(this); Wt::WStackedWidget *contentsStack = new Wt::WStackedWidget(this);
// Setup a Left-aligned menu. // Setup a Left-aligned menu.
Wt::WMenu *leftMenu = new Wt::WMenu(contentsStack, this); Wt::WMenu *leftMenu = new Wt::WMenu(contentsStack);
navigation->addMenu(leftMenu); navigation->addMenu(leftMenu);
_audioWidget = new AudioWidget(_sessionData); _audioWidget = new AudioWidget(_sessionData);
+1 -1
View File
@@ -15,7 +15,7 @@ class LmsHome : public Wt::WContainerWidget
{ {
public: public:
LmsHome(SessionData& sessionData); LmsHome(SessionData& sessionData, Wt::WContainerWidget* parent = 0);
private: private: