Web+ console: Add "Copy" button
Adding a "Copy" button makes the feature discoverable. If nothing is selected, copy all items. Change-Id: I2004ceb621628e01018cc90ec80033b3797c4c02 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6212 Tested-by: Automation <automation@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
This commit is contained in:
parent
7ee7b33be6
commit
c757102870
@ -45,14 +45,20 @@ ConsoleWindow::ConsoleWindow(BRect frame)
|
||||
|
||||
fMessagesListView = new BListView("Console messages",
|
||||
B_MULTIPLE_SELECTION_LIST);
|
||||
|
||||
fClearMessagesButton = new BButton(B_TRANSLATE("Clear"),
|
||||
new BMessage(CLEAR_CONSOLE_MESSAGES));
|
||||
fCopyMessagesButton = new BButton(B_TRANSLATE("Copy"),
|
||||
new BMessage(B_COPY));
|
||||
|
||||
AddChild(BGroupLayoutBuilder(B_VERTICAL, 0.0)
|
||||
.Add(new BScrollView("Console messages scroll",
|
||||
fMessagesListView, 0, true, true))
|
||||
.Add(BGroupLayoutBuilder(B_HORIZONTAL, B_USE_SMALL_SPACING)
|
||||
.AddGlue()
|
||||
.Add(fClearMessagesButton)
|
||||
.Add(fCopyMessagesButton)
|
||||
.AddGlue()
|
||||
.SetInsets(0, B_USE_SMALL_SPACING, 0, 0))
|
||||
.SetInsets(B_USE_SMALL_SPACING, B_USE_SMALL_SPACING,
|
||||
B_USE_SMALL_SPACING, B_USE_SMALL_SPACING)
|
||||
@ -110,15 +116,18 @@ ConsoleWindow::QuitRequested()
|
||||
void
|
||||
ConsoleWindow::_CopyToClipboard()
|
||||
{
|
||||
if (fMessagesListView->CurrentSelection() == -1)
|
||||
return;
|
||||
|
||||
BString text;
|
||||
int32 index;
|
||||
for (int32 i = 0; (index = fMessagesListView->CurrentSelection(i)) >= 0;
|
||||
i++) {
|
||||
BStringItem* item = (BStringItem*)fMessagesListView->ItemAt(index);
|
||||
text << item->Text();
|
||||
if (fMessagesListView->CurrentSelection() == -1) {
|
||||
for (int32 i = 0; i < fMessagesListView->CountItems(); i++) {
|
||||
BStringItem* item = (BStringItem*)fMessagesListView->ItemAt(i);
|
||||
text << item->Text();
|
||||
}
|
||||
} else {
|
||||
for (int32 i = 0; (index = fMessagesListView->CurrentSelection(i)) >= 0; i++) {
|
||||
BStringItem* item = (BStringItem*)fMessagesListView->ItemAt(index);
|
||||
text << item->Text();
|
||||
}
|
||||
}
|
||||
|
||||
ssize_t textLen = text.Length();
|
||||
|
@ -30,6 +30,7 @@ private:
|
||||
private:
|
||||
BListView* fMessagesListView;
|
||||
BButton* fClearMessagesButton;
|
||||
BButton* fCopyMessagesButton;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user