diff --git a/utils/system_daemon/daemon.cpp b/utils/system_daemon/daemon.cpp index 79d07f17..3c5f4283 100644 --- a/utils/system_daemon/daemon.cpp +++ b/utils/system_daemon/daemon.cpp @@ -339,7 +339,7 @@ PIScreenTile * Daemon::tile() const { void Daemon::escPressed() { - if (mode == rmNone) + if (mode == rmNone || mode == rmLocalFileManager) menuRequest(); else { if (mode > rmSelectMode) { diff --git a/utils/system_daemon/daemon.h b/utils/system_daemon/daemon.h index 0786462d..c0aa9738 100644 --- a/utils/system_daemon/daemon.h +++ b/utils/system_daemon/daemon.h @@ -44,7 +44,7 @@ public: void showMainList() {showTile(list_daemons, "Select daemon");} void showActionList() {showTile(list_actions, "Select action");} - void showLocalFilemanager() {mode = rmFileManager; showTile(tile_fm, "File manager");} + void showLocalFilemanager() {mode = rmLocalFileManager; showTile(tile_fm, "File manager");} PIStringList availableDaemons(); void connectToDaemon(const PIString & dn); @@ -87,6 +87,7 @@ private: enum RemoteMode { rmNone, + rmLocalFileManager, rmSelectMode, rmInformation, rmFileManager, diff --git a/utils/system_daemon/file_manager.cpp b/utils/system_daemon/file_manager.cpp index 8516b6ea..26b6f082 100644 --- a/utils/system_daemon/file_manager.cpp +++ b/utils/system_daemon/file_manager.cpp @@ -344,15 +344,3 @@ void FileManager::remoteRestoreDir() { panels[1]->cur = 0; } - -void FileManager::keyEvent(PIKbdListener::KeyEvent key) { - if (!tile_root->visible) return; - if (screen.dialogTile()) return; - switch (key.key) { - case PIKbdListener::Esc: - menuRequest(); - break; - default: break; - } -} - diff --git a/utils/system_daemon/file_manager.h b/utils/system_daemon/file_manager.h index 5a3d3b43..a4c6d495 100644 --- a/utils/system_daemon/file_manager.h +++ b/utils/system_daemon/file_manager.h @@ -34,7 +34,6 @@ public: void clearSelectionLocal() {panels[0]->selected.clear();} void clearSelectionRemote() {panels[1]->selected.clear();} - EVENT(menuRequest) EVENT3(actionRequest, bool, remote_tile, FileManager::Action, type, PIVariant, data) private: @@ -62,7 +61,6 @@ private: EVENT3(actionRequest, bool, remote_tile, FileManager::Action, type, PIVariant, data) }; - EVENT_HANDLER1(void, keyEvent, PIKbdListener::KeyEvent, key); EVENT1(tileKey, PIKbdListener::KeyEvent, key) static void tileKey_s(void * fm, PIKbdListener::KeyEvent key) {((FileManager*)fm)->tileKey(key);} diff --git a/utils/system_daemon/main.cpp b/utils/system_daemon/main.cpp index d980bf29..13babdd7 100755 --- a/utils/system_daemon/main.cpp +++ b/utils/system_daemon/main.cpp @@ -84,7 +84,6 @@ public: CONNECTU(screen, tileEvent, this, tileEvent) CONNECTU(screen, keyPressed, this, keyEvent) - CONNECTU(&daemon_.fm, menuRequest, this, menuRequest) CONNECTU(&daemon_, menuRequest, this, menuRequest) start(10); } @@ -132,16 +131,16 @@ public: } PIScreenTile * peerTile() { PIScreenTile* ret = new PIScreenTile(); - TileSimple * htl = new TileSimple(); - htl->size_policy = PIScreenTypes::Fixed; ret->direction = PIScreenTypes::Vertical; - htl->content << TileSimple::Row("Peer: " + daemon_.name() + " | " + daemon_.selfInfo().name, CellFormat(PIScreenTypes::Default, PIScreenTypes::Default, PIScreenTypes::Bold)); + peerinfo_header = new TileSimple(); + peerinfo_header->size_policy = PIScreenTypes::Fixed; + peerinfo_header->content << TileSimple::Row("Peer: " + daemon_.name() + " | " + daemon_.selfInfo().name, CellFormat(PIScreenTypes::Default, PIScreenTypes::Default, PIScreenTypes::Bold)); addrs_tl = new TileList(); peers_tl = new TileList(); peerinfo_tl = new TileSimple(); peermap_tl = new TileList(); peerinfo_tl->size_policy = PIScreenTypes::Fixed; - ret->addTile(htl); + ret->addTile(peerinfo_header); ret->addTile(peers_tl); ret->addTile(peerinfo_tl); ret->addTile(addrs_tl); @@ -231,7 +230,18 @@ public: case 3: tpeer->show(); peers_tl->setFocus(); break; case 4: daemon_.reinit(); tmenu->show(); break; case 5: tpeerdiag->show(); break; - case 6: daemon_.changeName(pisd_prefix + askUserInput("Peer name:")); updateTitle(title); menuRequest(); break; + case 6: + { + PIString nn = askUserInput("Peer name:"); + if (!nn.isEmpty()) { + daemon_.changeName(pisd_prefix + nn); + peerinfo_header->content.clear(); + peerinfo_header->content << TileSimple::Row("Peer: " + daemon_.name() + " | " + daemon_.selfInfo().name, CellFormat(PIScreenTypes::Default, PIScreenTypes::Default, PIScreenTypes::Bold)); + updateTitle(title); + } + menuRequest(); + } + break; case 7: PIKbdListener::exiting = true; break; } } @@ -263,7 +273,7 @@ public: PIScreenTile * tmenu, * tinfo, * tfm, * tdaemon, * tpeer, * tpeerdiag; TileList * peers_tl, * addrs_tl, * peermap_tl; TileSimple * title; - TileSimple * peerinfo_tl; + TileSimple * peerinfo_tl, * peerinfo_header; TileSimple * peerdiagdata_tl, * peerdiagservice_tl; PIVector mtiles; int cur_peer;