diff --git a/src/views/browser/tabwidget.cpp b/src/views/browser/tabwidget.cpp index d03ac8c73..774c3d1a3 100644 --- a/src/views/browser/tabwidget.cpp +++ b/src/views/browser/tabwidget.cpp @@ -1058,10 +1058,10 @@ namespace browser { // } // } auto _mainwindow = globalparameters.main_window(); - if(! _mainwindow->windowTitle().contains(view_current->page()->title())) _mainwindow->setWindowTitle(QString(globalparameters.application_name()) + " : " + view_current->page()->title()); // webView->setFocus(); + if(! _mainwindow->windowTitle().contains(view_current->page()->title())) _mainwindow->setWindowTitle(QString(globalparameters.application_name()) + " : " + view_current->page()->title()); // webView->setFocus(); MetaEditor *metaeditor = globalparameters.meta_editor(); // find_object(meta_editor_singleton_name); assert(metaeditor); - if(metaeditor->item() != _target_in_browser) view_current->page()->metaeditor_sychronize(); // metaeditor->bind(record); + if(metaeditor->item() != _target_in_browser) view_current->page()->metaeditor_sychronize(); // metaeditor->bind(record); } }; @@ -1310,32 +1310,36 @@ namespace browser { //// // find_object(tree_screen_singleton_name) //// globalparameters.tree_screen()->view()->know_model_save(); //// _record_screen->tools_update(); - for(int i = 0; i < count(); i ++){ // for(std::vector::size_type i = 20; i < static_cast::size_type>(count()); i ++){ - auto v = webView(i); // v_list[i]; - if(v){ - auto p = v->page(); - if(p){ - auto h = p->host(); - if( h -// && ! TreeIndex::is_ancestor_of(current, p->host()) - && (! h->is_ancestor_of(current) || h->distance(current) > 1) - && count() > 20 -// && h->field() != _string_from_check_state[Qt::Checked] - && v != currentWebView() - && v != webView(0) - ){ -// v_list[i]->page()->deleteLater(); -// v_list[i]->page(nullptr); -// v_list[i]->page()->setUrl(QUrl(Browser::_defaulthome)); - +// +// +// +// for(int i = 0; i < count(); i ++){ // for(std::vector::size_type i = 20; i < static_cast::size_type>(count()); i ++){ +// auto v = webView(i); // v_list[i]; +// if(v){ +// auto p = v->page(); +// if(p){ // auto h = p->host(); - closeTab(webViewIndex(v)); -// _browser->bind(RecordIndex::instance(record_index->current_model(), h, sibling(v)->page()->host()), false);// horrible -// v = nullptr; - } - } - } - } +// if( h +//// && ! TreeIndex::is_ancestor_of(current, p->host()) +// && (! h->is_ancestor_of(current) || h->distance(current) > 1) +// && count() > 30 +//// && h->field() != _string_from_check_state[Qt::Checked] +// && v != currentWebView() +// && v != webView(0) +// ){ +//// v_list[i]->page()->deleteLater(); +//// v_list[i]->page(nullptr); +//// v_list[i]->page()->setUrl(QUrl(Browser::_defaulthome)); + +//// auto h = p->host(); +// closeTab(webViewIndex(v)); +//// _browser->bind(RecordIndex::instance(record_index->current_model(), h, sibling(v)->page()->host()), false);// horrible +//// v = nullptr; +// } +// } +// } +// } + // if(count() > 30){ std::vector > list; for(int i = 0; i < count(); i ++){ // for(std::vector::size_type i = 20; i < static_cast::size_type>(count()); i ++){ @@ -1567,7 +1571,7 @@ namespace browser { assert(result->binder()->integrity_external(result, view->page())); }else{ // id is equal auto item_with_same_id = view->page()->host(); - if(item_with_same_id != result) result = TreeLevel::instance(TreeIndex::create_treeindex_from_item([&](){return _tree_screen->view()->source_model();}, item_with_same_id), result)->merge(); // TreeIndex::instance([&](){return _tree_screen->view()->source_model();}, page_item, page_item->parent()), target); + if(item_with_same_id != result) result = TreeLevel::instance(TreeIndex::create_treeindex_from_item([&](){return _tree_screen->view()->source_model();}, item_with_same_id), result)->merge(); // TreeIndex::instance([&](){return _tree_screen->view()->source_model();}, page_item, page_item->parent()), target); // if(!target->binder())target->binder(std::forward>(view->page()->binder())); // result = page_item; // target; @@ -1577,7 +1581,7 @@ namespace browser { assert(result == view->page()->binder()->host()); // old one choosed assert(result == result || result->field() == result->field()); // assert(result->record_binder()->bounded_page()); - if(! result->binder()->page()) result->binder()->page(view->page()); // result->bind(); // this is recursively call + if(! result->binder()->page()) result->binder()->page(view->page()); // result->bind(); // this is recursively call assert(result->binder()->host()); // 0 assert(result->binder()->page()); // 1 assert(view->page()->binder()); // 8 @@ -1851,7 +1855,7 @@ namespace browser { int index = webViewIndex(webView); auto _real_title = title.leftJustified(5, '.', true); if(- 1 != index) setTabText(index, _real_title); - if(currentIndex() == index) emit setCurrentTitle(_real_title); // "test" + if(currentIndex() == index) emit setCurrentTitle(_real_title); // "test" // // if(_real_title != "") if(title != webView->page()->title()) webView->page()->record_info_update(webView->page()->url(), title); @@ -2198,7 +2202,7 @@ namespace browser { auto v = p->view(); if(v){ auto index = webViewIndex(v) - 1; - if(index < 0) index = 0; // count() - 1; // if(index != - 1 && index > 0) + if(index < 0) index = 0; // count() - 1; // if(index != - 1 && index > 0) r = webView(index)->page()->binder()->host(); } }