diff options
author | Kandrashin Denis <mail@lintest.ru> | 2009-11-07 01:06:02 +0300 |
---|---|---|
committer | Kandrashin Denis <mail@lintest.ru> | 2009-11-07 01:06:02 +0300 |
commit | 77bd8cc3f822647d7bd0744ae24865eacf82ffc2 (patch) | |
tree | 2a796f65df94ee757e306e6cb82098ab9e4e1f07 /MyRuLib | |
parent | 75337b9c5a312e6bcbaf7925e5e9f935c6e9c686 (diff) |
Small changes in book download menu
Diffstat (limited to 'MyRuLib')
-rw-r--r-- | MyRuLib/FbBookEvent.h | 2 | ||||
-rw-r--r-- | MyRuLib/FbBookMenu.cpp | 10 | ||||
-rw-r--r-- | MyRuLib/FbBookMenu.h | 4 | ||||
-rw-r--r-- | MyRuLib/FbBookPanel.cpp | 4 | ||||
-rw-r--r-- | MyRuLib/FbBookPanel.h | 2 | ||||
-rw-r--r-- | MyRuLib/FbFrameDownld.cpp | 15 | ||||
-rw-r--r-- | MyRuLib/FbFrameFolder.cpp | 16 | ||||
-rw-r--r-- | MyRuLib/FbParams.cpp | 2 |
8 files changed, 18 insertions, 37 deletions
diff --git a/MyRuLib/FbBookEvent.h b/MyRuLib/FbBookEvent.h index 87f16d4b..2db5a8da 100644 --- a/MyRuLib/FbBookEvent.h +++ b/MyRuLib/FbBookEvent.h @@ -10,7 +10,7 @@ DECLARE_LOCAL_EVENT_TYPE( fbEVT_FOLDER_ACTION, 3 ) DECLARE_LOCAL_EVENT_TYPE( fbEVT_PROGRESS_ACTION, 4 ) enum FbFolderType { - FT_FOLDER, + FT_FOLDER = 1, FT_RATING, FT_COMMENT, FT_DOWNLOAD, diff --git a/MyRuLib/FbBookMenu.cpp b/MyRuLib/FbBookMenu.cpp index a78f8a1e..baa8f451 100644 --- a/MyRuLib/FbBookMenu.cpp +++ b/MyRuLib/FbBookMenu.cpp @@ -1,6 +1,7 @@ #include "FbBookMenu.h" #include "FbConst.h" #include "FbDatabase.h" +#include "FbBookEvent.h" WX_DEFINE_OBJARRAY(FbMenuFolderArray); @@ -10,7 +11,7 @@ FbMenuFolderArray FbBookMenu::sm_folders; FbMenuAuthorArray FbBookMenu::sm_authors; -FbBookMenu::FbBookMenu(int id, int iFolder) +FbBookMenu::FbBookMenu(int id, int iFolder, int iType) : m_id(id) { if (sm_folders.Count() == 0) LoadFolders(); @@ -32,12 +33,13 @@ FbBookMenu::FbBookMenu(int id, int iFolder) ratings->Append(ID_RATING_0, strRating[0]); Append(ID_OPEN_BOOK, _("Открыть книгу\tEnter")); - if (iFolder == fbFLDR_DOWN) { + if (iType == FT_DOWNLOAD) { Append(ID_DELETE_DOWNLOAD, _("Удалить закачку")); - } else if ( id>0 ) { + if (iFolder == -2) Append(ID_DOWNLOAD_BOOK, _("Скачать повторно")); + } else { Append(ID_DOWNLOAD_BOOK, _("Скачать файл")); - Append(ID_SYSTEM_DOWNLOAD, _("Скачать в браузере")); } + if ( id>0 ) Append(ID_SYSTEM_DOWNLOAD, _("Скачать в браузере")); AppendSeparator(); Append(wxID_SELECTALL, _("Выделить все\tCtrl+A")); diff --git a/MyRuLib/FbBookMenu.h b/MyRuLib/FbBookMenu.h index 9f6bfdf8..c5409c5f 100644 --- a/MyRuLib/FbBookMenu.h +++ b/MyRuLib/FbBookMenu.h @@ -6,8 +6,6 @@ #include <wx/arrimpl.cpp> #define fbNO_FOLDER (-999) -#define fbFLDR_DOWN (-998) - class FbMenuFolderItem { @@ -31,7 +29,7 @@ WX_DECLARE_OBJARRAY(FbMenuAuthorItem, FbMenuAuthorArray); class FbBookMenu: public wxMenu { public: - FbBookMenu(int id, int iFolder); + FbBookMenu(int id, int iFolder, int iType); static void EmptyFolders() { sm_folders.Empty(); }; static int GetFolder(const int id); static int GetAuthor(const int id); diff --git a/MyRuLib/FbBookPanel.cpp b/MyRuLib/FbBookPanel.cpp index eb8b5796..dcb23e98 100644 --- a/MyRuLib/FbBookPanel.cpp +++ b/MyRuLib/FbBookPanel.cpp @@ -32,7 +32,7 @@ BEGIN_EVENT_TABLE(FbBookPanel, wxSplitterWindow) END_EVENT_TABLE() FbBookPanel::FbBookPanel() - :wxSplitterWindow(), m_BookInfo(NULL), m_folder(fbNO_FOLDER), m_selected(0) + :wxSplitterWindow(), m_BookInfo(NULL), m_folder(fbNO_FOLDER), m_type(0), m_selected(0) { } @@ -199,7 +199,7 @@ void FbBookPanel::ShowContextMenu(const wxPoint& pos, wxTreeItemId item) BookTreeItemData * data = (BookTreeItemData*)m_BookList->GetItemData(item); if (data) id = data->GetId(); } - FbBookMenu menu(id, m_folder); + FbBookMenu menu(id, m_folder, m_type); menu.ConnectFolders(this, wxCommandEventHandler(FbBookPanel::OnFolderAdd)); menu.ConnectAuthors(this, wxCommandEventHandler(FbBookPanel::OnOpenAuthor)); PopupMenu(&menu, pos.x, pos.y); diff --git a/MyRuLib/FbBookPanel.h b/MyRuLib/FbBookPanel.h index 6306b151..dc91b1ff 100644 --- a/MyRuLib/FbBookPanel.h +++ b/MyRuLib/FbBookPanel.h @@ -29,6 +29,7 @@ class FbBookPanel: public wxSplitterWindow void CreateColumns(FbListMode mode); FbListMode GetListMode() { return m_ListMode;}; void SetFolder(int folder) { m_folder = folder; }; + void SetType(int type) { m_type = type; }; void CreateBookInfo(bool bVertical); private: void DoFolderAdd(const int folder); @@ -44,6 +45,7 @@ class FbBookPanel: public wxSplitterWindow wxTreeItemId m_AuthorItem; wxTreeItemId m_SequenceItem; int m_folder; + int m_type; int m_selected; private: void OnBooksListViewSelected(wxTreeEvent & event); diff --git a/MyRuLib/FbFrameDownld.cpp b/MyRuLib/FbFrameDownld.cpp index 711956c4..97b49f38 100644 --- a/MyRuLib/FbFrameDownld.cpp +++ b/MyRuLib/FbFrameDownld.cpp @@ -151,19 +151,8 @@ void FbFrameDownld::UpdateBooklist() void FbFrameDownld::FillByFolder(FbFolderData * data) { - int iFolder = fbNO_FOLDER; - switch (data->GetType()) { - case FT_FOLDER: - iFolder = data->GetId(); - break; - case FT_DOWNLOAD: - iFolder = fbFLDR_DOWN; - break; - default: - iFolder = fbNO_FOLDER; - break; - } - m_BooksPanel.SetFolder( iFolder ); + m_BooksPanel.SetFolder( data->GetId() ); + m_BooksPanel.SetType( FT_DOWNLOAD ); wxThread * thread = new FrameDownldThread(this, m_BooksPanel.GetListMode(), data); if ( thread->Create() == wxTHREAD_NO_ERROR ) thread->Run(); diff --git a/MyRuLib/FbFrameFolder.cpp b/MyRuLib/FbFrameFolder.cpp index 59a47d7a..5dfec41e 100644 --- a/MyRuLib/FbFrameFolder.cpp +++ b/MyRuLib/FbFrameFolder.cpp @@ -193,19 +193,8 @@ void FbFrameFolder::UpdateBooklist() void FbFrameFolder::FillByFolder(FbFolderData * data) { - int iFolder = fbNO_FOLDER; - switch (data->GetType()) { - case FT_FOLDER: - iFolder = data->GetId(); - break; - case FT_DOWNLOAD: - iFolder = fbFLDR_DOWN; - break; - default: - iFolder = fbNO_FOLDER; - break; - } - m_BooksPanel.SetFolder( iFolder ); + m_BooksPanel.SetFolder( data->GetId() ); + m_BooksPanel.SetType( data->GetType() ); wxThread * thread = new FrameFavourThread(this, m_BooksPanel.GetListMode(), data); if ( thread->Create() == wxTHREAD_NO_ERROR ) thread->Run(); @@ -330,4 +319,3 @@ void FbFrameFolder::UpdateFolder(const int iFolder, const FbFolderType type) if (bNeedUpdate) FillByFolder(data); } - diff --git a/MyRuLib/FbParams.cpp b/MyRuLib/FbParams.cpp index 9d2be4cc..70f7adcc 100644 --- a/MyRuLib/FbParams.cpp +++ b/MyRuLib/FbParams.cpp @@ -137,6 +137,8 @@ wxString FbParams::DefaultText(int param) return wxGetApp().GetAppPath(); case FB_LIBRUSEC_URL: return wxT("http://lib.rus.ec"); + case FB_DOWNLOAD_DIR: + return FbStandardPaths().GetUserConfigDir() + wxFileName::GetPathSeparator() + wxT("download"); default: return wxEmptyString; } |