40 Star 295 Fork 58

sourcegit / sourcegit

 / 详情

关于支持打开多个仓库

已完成
成员
创建于  
2020-07-22 16:34

我大体通过增加了一个自定义的TabControl来简单实现了一个方案:

第一个Tab页固定左对齐,用来显示管理界面;其他 Tab 居中对齐,每打开一个仓库就建立一个Tab页,如下图所示:
输入图片说明

后续再美化一下,例如第一个 Tab 在添加图标伪装成标题栏,后面Tab页背景等等

评论 (18)

ZCShou 创建了任务
ZCShou 关联分支设置为master
ZCShou 关联仓库设置为SourceGit/SourceGit
ZCShou 添加了
 
feature
标签
ZCShou 修改了描述
展开全部操作日志

我之前本意是不做内置多仓库,可以多开。因为本身显示器都是长方形,竖直方向的空间很小,不想这种东西单独占用一行。如果要做,也是类似Chrome一样将标题栏重新设计。

而且现在在做SUBMODULE的支持

输入图片说明

这是新的导航

可以返回父级仓库

你继续搞 SUBMODULE。这个确实比较有用。我的项目中都是复制的一份其他独立模块在主项目仓库的。。。

我先研究研究 这个打开多仓库的实现方式

我之前本意是不做内置多仓库,可以多开。因为本身显示器都是长方形,竖直方向的空间很小,不想这种东西单独占用一行。如果要做,也是类似Chrome一样将标题栏重新设计。

@leo 我通过自定义 TabControl,只能实现最后一个Tab页居中,没法实现 第一个居左,其他都居中。

    <Style x:Key="Style.Tab.Title" TargetType="{x:Type TabControl}">
        <Setter Property="OverridesDefaultStyle" Value="True" />
        <Setter Property="SnapsToDevicePixels" Value="True" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TabControl}">
                    <Grid ClipToBounds="True" KeyboardNavigation.TabNavigation="Local" SnapsToDevicePixels="True">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Name="ColumnDefinition1" Width="*"/>
                            <ColumnDefinition Name="ColumnDefinition2" Width="0"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Name="RowDefinition0" Height="Auto"/>
                            <RowDefinition Name="RowDefinition1" Height="*"/>
                        </Grid.RowDefinitions>
                        <DockPanel
                        Name="HeaderPanel"
                        Grid.Column="0"
                        Grid.Row="0"
                        Background="{DynamicResource Brush.BG4}"
                        Margin="2,2,2,0"
                        Panel.ZIndex="1"
                        IsItemsHost="True"
                        KeyboardNavigation.TabIndex="1"/>
                        <Border
                        Name="ContentPanel"
                        Grid.Column="0"
                        Grid.Row="1"
                        Background="{TemplateBinding Panel.Background}"
                        BorderBrush="{TemplateBinding Border.BorderBrush}"
                        BorderThickness="{TemplateBinding Border.BorderThickness}"
                        KeyboardNavigation.DirectionalNavigation="Contained"
                        KeyboardNavigation.TabIndex="2"
                        KeyboardNavigation.TabNavigation="Local">
                            <ContentPresenter
                            Name="PART_SelectedContentHost"
                            Margin="{TemplateBinding Control.Padding}"
                            Content="{TemplateBinding TabControl.SelectedContent}"
                            ContentSource="SelectedContent"
                            ContentStringFormat="{TemplateBinding TabControl.SelectedContentStringFormat}"
                            ContentTemplate="{TemplateBinding TabControl.SelectedContentTemplate}"
                            SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}"/>
                        </Border>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

有啥好的想法么?

这个需求之后我设计一版吧

这个需求之后我设计一版吧

@leo OK OK :+1:

SUBMODULE现在基本可用了,现在比较鸡肋的功能是【Interactive rebase】,这个功能现在基本是不完善的,可以想一下,怎样优化

OK。我测试一下整个 SUBMODULE 这块功能!

我建议参考一下 fork.dev

我建议参考一下 fork.dev

@Argo @leo 正在设计方案。不过应该不会采用单独一行Tab页,而是类似于 Chrome 直接在标题栏上

这个等一下吧,这周工作比较忙没什么时间搞

第一版已经提交了,之后再修改下Style

leo 任务状态待办的 修改为进行中

第一版已经提交了,之后再修改下Style

@leo 后面我重点测试一下这个功能。

第一版已经提交了,之后再修改下Style

@leo 第一个问题,Tab页比较多的时候,Tab页切换问题
输入图片说明

  1. 可以加个 左右的箭头
  2. Chrome 的处理是不断压缩Tab页的大小,直到最后只显示图标。
    输入图片说明

这个问题处理有点麻烦,有时间再看。

而且,真有人同时要处理这么多的仓库吗?

@ZCShou 已经完成标签滚动了

leo 任务状态进行中 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(3)
12147 love linger 1578914821 500005 zcshou 1584258561 554725 longbow 1578927507
C#
1
https://gitee.com/sourcegit/sourcegit.git
git@gitee.com:sourcegit/sourcegit.git
sourcegit
sourcegit
sourcegit

搜索帮助

344bd9b3 5694891 D2dac590 5694891