chat.ui (40461B)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- Generated with glade 3.40.0 3 4 Copyright (C) 2021‑‑2025 GNUnet e.V. 5 6 GNUnet is free software: you can redistribute it and/or modify it 7 under the terms of the GNU Affero General Public License as published 8 by the Free Software Foundation, either version 3 of the License, 9 or (at your option) any later version. 10 11 GNUnet is distributed in the hope that it will be useful, but 12 WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 Affero General Public License for more details. 15 16 You should have received a copy of the GNU Affero General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. 18 19 SPDX-License-Identifier: AGPL3.0-or-later 20 Author: Tobias Frisch 21 22 --> 23 <interface> 24 <requires lib="gtk+" version="3.24"/> 25 <requires lib="libhandy" version="1.2"/> 26 <object class="GtkBox" id="chat_box"> 27 <property name="visible">1</property> 28 <property name="orientation">vertical</property> 29 <child> 30 <object class="HdyFlap" id="flap_chat_details"> 31 <property name="visible">True</property> 32 <property name="can-focus">False</property> 33 <property name="flap-position">end</property> 34 <property name="reveal-flap">False</property> 35 <property name="fold-policy">always</property> 36 <child> 37 <object class="GtkBox"> 38 <property name="visible">1</property> 39 <property name="orientation">vertical</property> 40 <child> 41 <object class="HdySearchBar" id="chat_search_bar"> 42 <property name="visible">True</property> 43 <property name="can-focus">False</property> 44 <property name="show-close-button">True</property> 45 <child> 46 <object class="GtkSearchEntry" id="chat_search_entry"> 47 <property name="visible">1</property> 48 <property name="can-focus">1</property> 49 <property name="primary-icon-name">edit-find-symbolic</property> 50 <property name="primary-icon-activatable">0</property> 51 <property name="primary-icon-sensitive">0</property> 52 </object> 53 </child> 54 </object> 55 <packing> 56 <property name="position">1</property> 57 </packing> 58 </child> 59 <child> 60 <object class="GtkScrolledWindow" id="chat_scrolled_window"> 61 <property name="visible">1</property> 62 <property name="can-focus">1</property> 63 <property name="hscrollbar-policy">never</property> 64 <child> 65 <object class="GtkViewport"> 66 <property name="visible">1</property> 67 <child> 68 <object class="GtkListBox" id="messages_listbox"> 69 <property name="visible">1</property> 70 <property name="selection-mode">multiple</property> 71 <property name="activate-on-single-click">0</property> 72 </object> 73 </child> 74 </object> 75 </child> 76 <style> 77 <class name="chat-view"/> 78 </style> 79 </object> 80 <packing> 81 <property name="expand">1</property> 82 <property name="position">3</property> 83 </packing> 84 </child> 85 <child> 86 <object class="GtkRevealer" id="picker_revealer"> 87 <property name="visible">1</property> 88 <property name="transition-type">slide-up</property> 89 </object> 90 <packing> 91 <property name="pack-type">end</property> 92 <property name="position">3</property> 93 </packing> 94 </child> 95 <child> 96 <object class="GtkBox"> 97 <property name="visible">1</property> 98 <property name="margin-start">4</property> 99 <property name="margin-end">4</property> 100 <property name="border-width">4</property> 101 <property name="spacing">4</property> 102 <child> 103 <object class="GtkStack" id="send_stack"> 104 <property name="visible">1</property> 105 <property name="transition-type">slide-up</property> 106 <child> 107 <object class="GtkBox" id="send_text_box"> 108 <property name="visible">1</property> 109 <property name="spacing">4</property> 110 <child> 111 <object class="GtkButton" id="attach_file_button"> 112 <property name="visible">1</property> 113 <property name="sensitive">0</property> 114 <property name="can-focus">1</property> 115 <property name="receives-default">1</property> 116 <property name="valign">center</property> 117 <property name="relief">none</property> 118 <child> 119 <object class="GtkImage"> 120 <property name="visible">1</property> 121 <property name="icon-name">mail-attachment-symbolic</property> 122 </object> 123 </child> 124 </object> 125 </child> 126 <child> 127 <object class="GtkTextView" id="send_text_view"> 128 <property name="width-request">210</property> 129 <property name="height-request">48</property> 130 <property name="visible">1</property> 131 <property name="sensitive">0</property> 132 <property name="can-focus">1</property> 133 <property name="valign">end</property> 134 <property name="editable">0</property> 135 <property name="wrap-mode">word-char</property> 136 <property name="left-margin">8</property> 137 <property name="right-margin">8</property> 138 <property name="top-margin">8</property> 139 <property name="bottom-margin">8</property> 140 <property name="input-hints">GTK_INPUT_HINT_SPELLCHECK | GTK_INPUT_HINT_WORD_COMPLETION | GTK_INPUT_HINT_INHIBIT_OSK | GTK_INPUT_HINT_EMOJI | GTK_INPUT_HINT_NONE</property> 141 </object> 142 <packing> 143 <property name="expand">1</property> 144 <property name="position">1</property> 145 </packing> 146 </child> 147 <child> 148 <object class="GtkButton" id="emoji_button"> 149 <property name="visible">1</property> 150 <property name="sensitive">0</property> 151 <property name="can-focus">1</property> 152 <property name="receives-default">1</property> 153 <property name="valign">center</property> 154 <property name="relief">none</property> 155 <child> 156 <object class="GtkImage"> 157 <property name="visible">1</property> 158 <property name="icon-name">face-smile-symbolic</property> 159 </object> 160 </child> 161 </object> 162 <packing> 163 <property name="position">2</property> 164 </packing> 165 </child> 166 </object> 167 <packing> 168 <property name="name">page_send_text</property> 169 </packing> 170 </child> 171 <child> 172 <object class="GtkBox" id="send_recording_box"> 173 <property name="visible">1</property> 174 <property name="spacing">4</property> 175 <child> 176 <object class="GtkButton" id="recording_close_button"> 177 <property name="visible">1</property> 178 <property name="can-focus">1</property> 179 <property name="receives-default">1</property> 180 <property name="valign">center</property> 181 <property name="relief">none</property> 182 <child> 183 <object class="GtkImage"> 184 <property name="visible">1</property> 185 <property name="icon-name">window-close-symbolic</property> 186 </object> 187 </child> 188 </object> 189 </child> 190 <child> 191 <object class="GtkButton" id="recording_play_button"> 192 <property name="visible">1</property> 193 <property name="can-focus">1</property> 194 <property name="receives-default">1</property> 195 <property name="valign">center</property> 196 <property name="relief">none</property> 197 <child> 198 <object class="GtkImage" id="play_pause_symbol"> 199 <property name="visible">1</property> 200 <property name="icon-name">media-playback-start-symbolic</property> 201 </object> 202 </child> 203 </object> 204 <packing> 205 <property name="position">1</property> 206 </packing> 207 </child> 208 <child> 209 <object class="GtkBox"> 210 <property name="visible">1</property> 211 <property name="valign">center</property> 212 <property name="orientation">vertical</property> 213 <property name="spacing">2</property> 214 <child> 215 <object class="GtkLabel" id="recording_label"> 216 <property name="visible">1</property> 217 <property name="label">00:00:00</property> 218 </object> 219 </child> 220 <child> 221 <object class="GtkProgressBar" id="recording_progress_bar"> 222 <property name="visible">1</property> 223 </object> 224 <packing> 225 <property name="position">1</property> 226 </packing> 227 </child> 228 </object> 229 <packing> 230 <property name="expand">1</property> 231 <property name="position">2</property> 232 </packing> 233 </child> 234 </object> 235 <packing> 236 <property name="name">page_send_recording</property> 237 <property name="position">1</property> 238 </packing> 239 </child> 240 </object> 241 <packing> 242 <property name="expand">1</property> 243 </packing> 244 </child> 245 <child> 246 <object class="GtkButton" id="send_record_button"> 247 <property name="visible">1</property> 248 <property name="sensitive">0</property> 249 <property name="can-focus">1</property> 250 <property name="receives-default">1</property> 251 <property name="valign">center</property> 252 <property name="relief">none</property> 253 <child> 254 <object class="GtkImage" id="send_record_symbol"> 255 <property name="visible">1</property> 256 <property name="icon-name">audio-input-microphone-symbolic</property> 257 </object> 258 </child> 259 </object> 260 <packing> 261 <property name="position">1</property> 262 </packing> 263 </child> 264 </object> 265 <packing> 266 <property name="pack-type">end</property> 267 <property name="position">4</property> 268 </packing> 269 </child> 270 </object> 271 </child> 272 <child type="separator"> 273 <object class="GtkSeparator"> 274 <property name="visible">1</property> 275 </object> 276 </child> 277 <child type="flap"> 278 <object class="GtkBox"> 279 <property name="visible">1</property> 280 <property name="orientation">vertical</property> 281 <child> 282 <object class="GtkBox" id="details-header-box"> 283 <property name="width-request">250</property> 284 <property name="visible">1</property> 285 <property name="border-width">8</property> 286 <child> 287 <object class="GtkBox"> 288 <property name="visible">1</property> 289 <property name="spacing">8</property> 290 <child> 291 <object class="GtkLabel" id="chat_details_label"> 292 <property name="visible">1</property> 293 <property name="xpad">8</property> 294 <property name="xalign">0</property> 295 <attributes> 296 <attribute name="weight" value="bold"/> 297 </attributes> 298 </object> 299 <packing> 300 <property name="expand">1</property> 301 </packing> 302 </child> 303 <child> 304 <object class="GtkButton" id="hide_chat_details_button"> 305 <property name="visible">1</property> 306 <property name="can-focus">1</property> 307 <property name="receives-default">1</property> 308 <property name="relief">none</property> 309 <child> 310 <object class="GtkImage"> 311 <property name="visible">1</property> 312 <property name="icon-name">window-close-symbolic</property> 313 </object> 314 </child> 315 </object> 316 <packing> 317 <property name="pack-type">end</property> 318 <property name="position">1</property> 319 </packing> 320 </child> 321 </object> 322 <packing> 323 <property name="expand">1</property> 324 </packing> 325 </child> 326 </object> 327 </child> 328 <child> 329 <object class="GtkScrolledWindow"> 330 <property name="visible">1</property> 331 <property name="can-focus">1</property> 332 <child> 333 <object class="GtkViewport"> 334 <property name="visible">1</property> 335 <property name="shadow-type">none</property> 336 <child> 337 <object class="GtkBox"> 338 <property name="visible">1</property> 339 <property name="orientation">vertical</property> 340 <property name="spacing">4</property> 341 <child> 342 <object class="HdyAvatar" id="chat_details_avatar"> 343 <property name="visible">True</property> 344 <property name="can-focus">False</property> 345 <property name="margin-top">8</property> 346 <property name="margin-bottom">8</property> 347 <property name="size">128</property> 348 </object> 349 </child> 350 <child> 351 <object class="GtkBox"> 352 <property name="visible">1</property> 353 <property name="orientation">vertical</property> 354 <child> 355 <object class="GtkButton" id="reveal_identity_button"> 356 <property name="visible">1</property> 357 <property name="can-focus">1</property> 358 <property name="receives-default">1</property> 359 <property name="relief">none</property> 360 <child> 361 <object class="GtkBox"> 362 <property name="visible">1</property> 363 <property name="border-width">4</property> 364 <property name="spacing">16</property> 365 <child> 366 <object class="GtkImage"> 367 <property name="visible">1</property> 368 <property name="icon-name">user-info-symbolic</property> 369 <property name="icon-size">3</property> 370 </object> 371 </child> 372 <child> 373 <object class="GtkLabel"> 374 <property name="visible">1</property> 375 <property name="label" translatable="yes">Reveal Identity</property> 376 </object> 377 <packing> 378 <property name="position">1</property> 379 </packing> 380 </child> 381 </object> 382 </child> 383 </object> 384 </child> 385 <child> 386 <object class="GtkButton" id="discourse_button"> 387 <property name="visible">1</property> 388 <property name="can-focus">1</property> 389 <property name="receives-default">1</property> 390 <property name="relief">none</property> 391 <child> 392 <object class="GtkBox"> 393 <property name="visible">1</property> 394 <property name="border-width">4</property> 395 <property name="spacing">16</property> 396 <child> 397 <object class="GtkImage"> 398 <property name="visible">1</property> 399 <property name="icon-name">user-available-symbolic</property> 400 <property name="icon-size">3</property> 401 </object> 402 </child> 403 <child> 404 <object class="GtkLabel"> 405 <property name="visible">1</property> 406 <property name="label" translatable="yes">Open Discourse</property> 407 </object> 408 <packing> 409 <property name="position">1</property> 410 </packing> 411 </child> 412 </object> 413 </child> 414 </object> 415 <packing> 416 <property name="position">1</property> 417 </packing> 418 </child> 419 <child> 420 <object class="GtkStack" id="block_stack"> 421 <property name="visible">1</property> 422 <child> 423 <object class="GtkButton" id="block_button"> 424 <property name="visible">1</property> 425 <property name="can-focus">1</property> 426 <property name="receives-default">1</property> 427 <property name="relief">none</property> 428 <child> 429 <object class="GtkBox"> 430 <property name="visible">1</property> 431 <property name="border-width">4</property> 432 <property name="spacing">16</property> 433 <child> 434 <object class="GtkImage"> 435 <property name="visible">1</property> 436 <property name="icon-name">mail-mark-junk-symbolic</property> 437 <property name="icon-size">3</property> 438 </object> 439 </child> 440 <child> 441 <object class="GtkLabel"> 442 <property name="visible">1</property> 443 <property name="label" translatable="yes">Block Contact</property> 444 <property name="xalign">0</property> 445 </object> 446 <packing> 447 <property name="expand">1</property> 448 <property name="pack-type">end</property> 449 <property name="position">1</property> 450 </packing> 451 </child> 452 </object> 453 </child> 454 </object> 455 <packing> 456 <property name="name">page_block</property> 457 </packing> 458 </child> 459 <child> 460 <object class="GtkButton" id="unblock_button"> 461 <property name="visible">1</property> 462 <property name="can-focus">1</property> 463 <property name="receives-default">1</property> 464 <property name="relief">none</property> 465 <child> 466 <object class="GtkBox"> 467 <property name="visible">1</property> 468 <property name="border-width">4</property> 469 <property name="spacing">16</property> 470 <child> 471 <object class="GtkImage"> 472 <property name="visible">1</property> 473 <property name="icon-name">mail-mark-notjunk-symbolic</property> 474 <property name="icon-size">3</property> 475 </object> 476 </child> 477 <child> 478 <object class="GtkLabel"> 479 <property name="visible">1</property> 480 <property name="label" translatable="yes">Unblock Contact</property> 481 <property name="xalign">0</property> 482 </object> 483 <packing> 484 <property name="expand">1</property> 485 <property name="pack-type">end</property> 486 <property name="position">1</property> 487 </packing> 488 </child> 489 </object> 490 </child> 491 </object> 492 <packing> 493 <property name="name">page_unblock</property> 494 <property name="position">1</property> 495 </packing> 496 </child> 497 </object> 498 <packing> 499 <property name="position">2</property> 500 </packing> 501 </child> 502 <child> 503 <object class="GtkButton" id="leave_chat_button"> 504 <property name="visible">1</property> 505 <property name="can-focus">1</property> 506 <property name="receives-default">1</property> 507 <property name="relief">none</property> 508 <child> 509 <object class="GtkBox"> 510 <property name="visible">1</property> 511 <property name="border-width">4</property> 512 <property name="spacing">16</property> 513 <child> 514 <object class="GtkImage"> 515 <property name="visible">1</property> 516 <property name="icon-name">system-log-out-symbolic</property> 517 <property name="icon-size">3</property> 518 </object> 519 </child> 520 <child> 521 <object class="GtkLabel"> 522 <property name="visible">1</property> 523 <property name="label" translatable="yes">Leave Chat</property> 524 <property name="xalign">0</property> 525 </object> 526 <packing> 527 <property name="position">1</property> 528 </packing> 529 </child> 530 </object> 531 </child> 532 <style> 533 <class name="delete-button"/> 534 </style> 535 </object> 536 <packing> 537 <property name="position">3</property> 538 </packing> 539 </child> 540 <style> 541 <class name="details-group"/> 542 </style> 543 </object> 544 <packing> 545 <property name="position">1</property> 546 </packing> 547 </child> 548 <child> 549 <object class="GtkBox"> 550 <property name="visible">1</property> 551 <child> 552 <object class="GtkLabel"> 553 <property name="visible">1</property> 554 <property name="label" translatable="yes">Notifications</property> 555 </object> 556 </child> 557 <child> 558 <object class="GtkSwitch" id="chat_notifications_switch"> 559 <property name="visible">1</property> 560 <property name="can-focus">1</property> 561 </object> 562 <packing> 563 <property name="pack-type">end</property> 564 <property name="position">1</property> 565 </packing> 566 </child> 567 <style> 568 <class name="details-entry"/> 569 </style> 570 </object> 571 <packing> 572 <property name="position">2</property> 573 </packing> 574 </child> 575 <child> 576 <object class="GtkBox" id="chat_details_contacts_box"> 577 <property name="visible">1</property> 578 <property name="orientation">vertical</property> 579 <child> 580 <object class="GtkLabel"> 581 <property name="visible">1</property> 582 <property name="label" translatable="yes">Contacts</property> 583 <property name="xalign">0</property> 584 <attributes> 585 <attribute name="weight" value="semibold"/> 586 </attributes> 587 <style> 588 <class name="details-group-title"/> 589 </style> 590 </object> 591 </child> 592 <child> 593 <object class="GtkListBox" id="chat_contacts_listbox"> 594 <property name="visible">1</property> 595 <property name="selection-mode">none</property> 596 <child> 597 <object class="GtkListBoxRow"> 598 <property name="visible">1</property> 599 <property name="can-focus">1</property> 600 <property name="selectable">0</property> 601 <child> 602 <object class="GtkBox"> 603 <property name="visible">1</property> 604 <property name="spacing">8</property> 605 <child> 606 <object class="GtkImage"> 607 <property name="width-request">36</property> 608 <property name="height-request">36</property> 609 <property name="visible">1</property> 610 <property name="icon-name">list-add-symbolic</property> 611 <property name="icon-size">3</property> 612 </object> 613 </child> 614 <child> 615 <object class="GtkLabel"> 616 <property name="visible">1</property> 617 <property name="label" translatable="yes">Invite Contact</property> 618 </object> 619 <packing> 620 <property name="position">1</property> 621 </packing> 622 </child> 623 <style> 624 <class name="profile-entry"/> 625 </style> 626 </object> 627 </child> 628 </object> 629 </child> 630 </object> 631 <packing> 632 <property name="position">1</property> 633 </packing> 634 </child> 635 <style> 636 <class name="details-group"/> 637 </style> 638 </object> 639 <packing> 640 <property name="position">3</property> 641 </packing> 642 </child> 643 <child> 644 <object class="GtkBox" id="chat_details_media_box"> 645 <property name="orientation">vertical</property> 646 <child> 647 <object class="GtkLabel"> 648 <property name="visible">1</property> 649 <property name="label" translatable="yes">Media</property> 650 <property name="xalign">0</property> 651 <attributes> 652 <attribute name="weight" value="semibold"/> 653 </attributes> 654 <style> 655 <class name="details-group-title"/> 656 </style> 657 </object> 658 </child> 659 <child> 660 <object class="GtkFlowBox" id="chat_media_flowbox"> 661 <property name="visible">1</property> 662 <property name="homogeneous">1</property> 663 <property name="max-children-per-line">3</property> 664 <property name="selection-mode">none</property> 665 <property name="activate-on-single-click">0</property> 666 </object> 667 <packing> 668 <property name="position">1</property> 669 </packing> 670 </child> 671 <style> 672 <class name="details-group"/> 673 </style> 674 </object> 675 <packing> 676 <property name="position">4</property> 677 </packing> 678 </child> 679 <child> 680 <object class="GtkBox" id="chat_details_files_box"> 681 <property name="orientation">vertical</property> 682 <child> 683 <object class="GtkLabel"> 684 <property name="visible">1</property> 685 <property name="label" translatable="yes">Files</property> 686 <property name="xalign">0</property> 687 <attributes> 688 <attribute name="weight" value="semibold"/> 689 </attributes> 690 <style> 691 <class name="details-group-title"/> 692 </style> 693 </object> 694 </child> 695 <child> 696 <object class="GtkListBox" id="chat_files_listbox"> 697 <property name="visible">1</property> 698 <property name="selection-mode">none</property> 699 </object> 700 <packing> 701 <property name="position">1</property> 702 </packing> 703 </child> 704 <style> 705 <class name="details-group"/> 706 </style> 707 </object> 708 <packing> 709 <property name="position">5</property> 710 </packing> 711 </child> 712 </object> 713 </child> 714 </object> 715 </child> 716 </object> 717 <packing> 718 <property name="expand">1</property> 719 <property name="position">1</property> 720 </packing> 721 </child> 722 <style> 723 <class name="flap-background"/> 724 </style> 725 </object> 726 </child> 727 </object> 728 <packing> 729 <property name="expand">1</property> 730 <property name="position">1</property> 731 </packing> 732 </child> 733 </object> 734 <object class="GtkPopover" id="send_popover"> 735 <property name="relative-to">send_record_button</property> 736 <child> 737 <object class="GtkBox"> 738 <property name="visible">1</property> 739 <property name="orientation">vertical</property> 740 <child> 741 <object class="GtkButton" id="send_later_button"> 742 <property name="label" translatable="yes">Send Later</property> 743 <property name="visible">1</property> 744 <property name="sensitive">0</property> 745 <property name="can-focus">1</property> 746 <property name="receives-default">1</property> 747 <property name="relief">none</property> 748 </object> 749 </child> 750 <child> 751 <object class="GtkButton" id="send_now_button"> 752 <property name="label" translatable="yes">Send Now</property> 753 <property name="visible">1</property> 754 <property name="can-focus">1</property> 755 <property name="receives-default">1</property> 756 <property name="relief">none</property> 757 </object> 758 <packing> 759 <property name="position">1</property> 760 </packing> 761 </child> 762 </object> 763 </child> 764 </object> 765 </interface>