Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
XABSearchPanel/frmSearch: common/preferences.h include missing
[xestiaab/.git] / source / search / frmSearch.cpp
index 46d7d1e..8d8530c 100644 (file)
@@ -1,6 +1,6 @@
 // frmSearch.cpp - Search form.
 //
-// (c) 2012-2015 Xestia Software Development.
+// (c) 2012-2017 Xestia Software Development.
 //
 // This file is part of Xestia Address Book.
 //
 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
 
 #include "frmSearch.h"
-#include "../frmMain.h"
-#include "../frmContact.h"
-#include "frmSearchAccounts.h"
-#include "../common/preferences.h"
-#include "../common/dirs.h"
-#include "../vcard/vcard.h"
 
-#include <thread>
 
 #define SEARCHSETTINGS_MAX 15
 
@@ -59,6 +52,17 @@ frmSearch::frmSearch( wxWindow* parent )
 frmSearchADT( parent )
 {
        
+       // Setup the application icon.
+       
+       wxMemoryInputStream istream(bigimgs_searchicon_png, sizeof(bigimgs_searchicon_png));
+       wxImage bigimgs_searchiconi(istream, wxBITMAP_TYPE_PNG);
+       wxBitmap searchiconbmp(bigimgs_searchiconi, -1);    
+       wxIcon searchicon;
+       searchicon.CopyFromBitmap(searchiconbmp);
+       this->SetIcon(searchicon);
+       
+       // Setup the search window.
+       
        XABSearchPanel *InitPanel = new XABSearchPanel( tabSearch );
        InitPanel->EnableButtons(TRUE, FALSE);
        InitPanel->SetupPointers(this);
@@ -230,6 +234,15 @@ void frmSearch::ResetContacts( wxCommandEvent& event )
                
        }
 
+       // Clear the status bar.
+       
+       wxCommandEvent statusResetEvent (SE_SBUPDATE);
+               
+       wxString *statusReset = new wxString(wxT(""));
+       
+       statusResetEvent.SetClientData(statusReset);
+       wxPostEvent(this, statusResetEvent);
+       
        // Add a search settings with the default things.
        
        ScrollGen = 0;
@@ -255,7 +268,6 @@ void frmSearch::AddSearchSetting( wxCommandEvent& event )
        NewPanel->SetupPointers(this);
        NewPanel->SetupInteger(ScrollGen);
        szrSearch->Add(NewPanel, 1, wxEXPAND|wxGROW, 5);
-       //szrSearch->Fit(tabSearch);
        szrSearch->FitInside(tabSearch);
        szrSearch->Layout();
        szrSearch->RecalcSizes();
@@ -302,13 +314,13 @@ void frmSearch::AddSearchSetting( wxCommandEvent& event )
 void frmSearch::RemoveSearchSetting( wxCommandEvent& event )
 {
 
+       // Remove a search setting frame from the list.
+       
        // Get the integer from the event.
        
        std::map<int,void*>::iterator iter;
        iter = SearchFrames.find(event.GetInt());
 
-       // Remove a search setting frame from the list.
-
        XABSearchPanel *XABSPPtr;
        XABSPPtr = static_cast<XABSearchPanel*>(iter->second);
        
@@ -321,8 +333,6 @@ void frmSearch::RemoveSearchSetting( wxCommandEvent& event )
        delete XABSPPtr;
        XABSPPtr = NULL;
        
-       //szrSearch->Fit(tabSearch);
-       
        if (SearchFrames.size() < SEARCHSETTINGS_MAX && SearchFrames.size() > 1){
        
                for (std::map<int,void*>::iterator iter = SearchFrames.begin(); 
@@ -361,7 +371,9 @@ void frmSearch::ReloadAccountList( wxCommandEvent& event ){
 }
 
 void frmSearch::SearchBarUpdate( wxCommandEvent& event ){
-
+       
+       // Update the status bar.
+       
        wxString *SBData = (wxString*)event.GetClientData();
 
        stbBottom->SetStatusText(*SBData, 0);
@@ -373,6 +385,9 @@ void frmSearch::SearchBarUpdate( wxCommandEvent& event ){
 
 void frmSearch::SearchFinished( wxCommandEvent& event ){
 
+       // Reset the search button and unlock the search
+       // panel buttons.
+       
        StopMode = FALSE;
        btnSearch->SetLabel(_("Search"));
        DisableAllSearchSettings(FALSE);
@@ -459,20 +474,24 @@ void frmSearch::CloseWindow( wxCloseEvent& event ){
        
        // Close window.
        
-       WindowData *WData = new WindowData;
+       if (SearchMode == false){
+       
+               WindowData *WData = new WindowData;
 
-       WData->DataType = 2;
-       WData->WindowPointer = this;
-       WData->WindowID = SearchUID;
+               WData->DataType = 2;
+               WData->WindowPointer = this;
+               WData->WindowID = SearchUID;
 
-       wxCommandEvent delevent(WINDOW_CLOSE);
-       delevent.SetClientData(WData);
-       wxPostEvent(GetParent(), delevent);
+               wxCommandEvent delevent(WINDOW_CLOSE);
+               delevent.SetClientData(WData);
+               wxPostEvent(GetParent(), delevent);
                
-       wxCommandEvent rs(CE_REMOVESEARCH);
-       wxPostEvent(this, rs);
+               wxCommandEvent rs(CE_REMOVESEARCH);
+               wxPostEvent(this, rs);
        
-       WData = NULL;
+               WData = NULL;
+               
+       }
        
        this->Destroy();
 
@@ -480,18 +499,24 @@ void frmSearch::CloseWindow( wxCloseEvent& event ){
 
 void frmSearch::CloseWindow( wxCommandEvent& event ){
 
+       // Close this window.
+       
        this->Close();
 
 }
 
 void frmSearch::SetUID(int UID){
 
+       // Set the UID of the search window.
+       
        SearchUID = UID;
 
 }
 
 void frmSearch::SetSearchMode(bool SearchModeIn){
 
+       // Set the search mode of the window.
+       
        SearchMode = SearchModeIn;
 
        if (SearchMode == TRUE){
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy