Ticket #1208: Mail - Query Toolbar Icon.diff

File Mail - Query Toolbar Icon.diff, 2.4 KB (added by anxiety, 16 years ago)
  • src/apps/mail/Messages.h

     
    103103    M_ACCOUNTS,
    104104
    105105    // queries
     106    M_SHOW_QUERIES,
    106107    M_EDIT_QUERIES,
    107108    M_EXECUTE_QUERY,
    108109
  • src/apps/mail/MailWindow.cpp

     
    473473    }
    474474
    475475    // Queries Menu
    476 
    477476    fQueryMenu = new BMenu(MDR_DIALECT_CHOICE("Queries","???"));
    478477    fMenuBar->AddItem(fQueryMenu);
    479 
    480478    _RebuildQueryMenu(true);
    481479
    482480    // Menu Bar
    483 
    484481    AddChild(fMenuBar);
    485482    height = fMenuBar->Bounds().bottom + 1;
    486483
     
    621618    }
    622619    bbar->AddButton(MDR_DIALECT_CHOICE ("Inbox","受信箱"), 36, new BMessage(M_OPEN_MAIL_BOX));
    623620    bbar->AddButton(MDR_DIALECT_CHOICE ("Mail","メール"), 32, new BMessage(M_OPEN_MAIL_FOLDER));
     621    bbar->AddButton(MDR_DIALECT_CHOICE ("Queries","???"), 32, new BMessage(M_SHOW_QUERIES));
    624622
    625623    bbar->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
    626624    bbar->Hide();
     
    14971495                fContentView->fTextView->EnableSpellCheck(fSpelling->IsMarked());
    14981496            }
    14991497            break;
     1498           
     1499        case M_SHOW_QUERIES:
     1500        {
     1501            if (!fQueryMenu)
     1502                break;
    15001503
     1504            uint32 buttons = B_SECONDARY_MOUSE_BUTTON;
     1505            if (msg->FindInt32("buttons", (int32 *)&buttons) != B_OK
     1506                || buttons != B_PRIMARY_MOUSE_BUTTON)
     1507                break;
     1508
     1509            int count = fQueryMenu->CountItems();
     1510            if (count == 0) {
     1511                PostMessage(M_EDIT_QUERIES);
     1512                break;
     1513            }
     1514           
     1515            BPopUpMenu menu("Queries", false, false);
     1516            while (fQueryMenu->CountItems() > 0) {
     1517                BMenuItem * item = fQueryMenu->ItemAt(0);
     1518                fQueryMenu->RemoveItems(0, 1, false);
     1519                menu.AddItem(item);
     1520            }
     1521
     1522            BPoint where;
     1523            msg->FindPoint("where", &where);
     1524
     1525            BMenuItem *item = menu.Go(where, false, true, false);
     1526            if (item != NULL)
     1527                PostMessage(item->Message());
     1528
     1529            while (menu.CountItems() > 0) {
     1530                BMenuItem * item = menu.ItemAt(0);
     1531                menu.RemoveItems(0, 1, false);
     1532                fQueryMenu->AddItem(item);
     1533            }
     1534            break;
     1535        }
     1536
    15011537        case M_EDIT_QUERIES:
    15021538        {
    15031539            BPath path;
     
    29342970        BMenuItem* item = fQueryMenu->RemoveItem((int32)0);
    29352971        delete item;
    29362972    }
    2937 
     2973   
    29382974    fQueryMenu->AddItem(new BMenuItem(MDR_DIALECT_CHOICE("Edit Queries" B_UTF8_ELLIPSIS,"???" B_UTF8_ELLIPSIS),
    29392975        new BMessage(M_EDIT_QUERIES), 'E', B_SHIFT_KEY));
    29402976